在java中怎样让用户输入java 获取文件名名来打开一个java 获取文件名?

页面导航:
→ 正文内容 Java读写文件
Java读写文件创建文件夹多种方法示例详解
这篇文章主要介绍了Java读写文件创建文件夹等多种操作的方法,大家参考使用吧
出现乱码请修改为
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path), "GBK"));
一.获得控制台用户输入的信息
代码如下:public String getInputMessage() throws IOException...{&&&&System.out.println("请输入您的命令∶");&&&&byte buffer[]=new byte[1024];&&&&int count=System.in.read(buffer);&&&&char[] ch=new char[count-2];//最后两位为结束符,删去不要&&&&for(int i=0;i&count-2;i++)&&&&&&&&ch[i]=(char)buffer[i];&&&&String str=new String(ch);&&&&}
可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。
二.复制文件
1.以文件流的方式复制文件
代码如下:public void copyFile(String src,String dest) throws IOException...{&&&&FileInputStream in=new FileInputStream(src);&&&&File file=new File(dest);&&&&if(!file.exists())&&&&&&&&file.createNewFile();&&&&FileOutputStream out=new FileOutputStream(file);&&&&&&&&byte buffer[]=new byte[1024];&&&&while((c=in.read(buffer))!=-1)...{&&&&&&&&for(int i=0;i&c;i++)&&&&&&&&&&&&out.write(buffer[i]);&&&&&&& &&&&}&&&&in.close();&&&&out.close();}
该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式
1.利用PrintStream写文件
代码如下:public void PrintStreamDemo()...{&&&&try ...{&&&&&&&&FileOutputStream out=new FileOutputStream("D:/test.txt");&&&&&&&&PrintStream p=new PrintStream(out);&&&&&&&&for(int i=0;i&10;i++)&&&&&&&&&&&&p.println("This is "+i+" line");&&&&} catch (FileNotFoundException e) ...{&&&&&&&&e.printStackTrace();&&&&}}
2.利用StringBuffer写文件
代码如下:public void StringBufferDemo() throws IOException......{&&&&&&&&&File file=new File("/root/sms.log");&&&&&&&&&if(!file.exists())&&&&&&&&&&&&&file.createNewFile();&&&&&&&&&FileOutputStream out=new FileOutputStream(file,true);&&&&&&& &&&&&&&&&for(int i=0;i&10000;i++)......{&&&&&&&&&&&&&StringBuffer sb=new StringBuffer();&&&&&&&&&&&&&sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");&&&&&&&&&&&&&out.write(sb.toString().getBytes("utf-8"));&&&&&&&&&}&&&&&&& &&&&&&&&&out.close();&&&&&}
该方法可以设定使用何种编码,有效解决中文问题。
四.文件重命名
代码如下:public void renameFile(String path,String oldname,String newname)...{&&&&if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名&&&&&&&&File oldfile=new File(path+"/"+oldname);&&&&&&&&File newfile=new File(path+"/"+newname);&&&&&&&&if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名&&&&&&&&&&&&System.out.println(newname+"已经存在!");&&&&&&&&else...{&&&&&&&&&&&&oldfile.renameTo(newfile);&&&&&&&&}&&&&}&&&&&&&& }
五.转移文件目录
转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。
代码如下:public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{&&&&if(!oldpath.equals(newpath))...{&&&&&&&&File oldfile=new File(oldpath+"/"+filename);&&&&&&&&File newfile=new File(newpath+"/"+filename);&&&&&&&&if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件&&&&&&&&&&&&if(cover)//覆盖&&&&&&&&&&&&&&&&oldfile.renameTo(newfile);&&&&&&&&&&&&else&&&&&&&&&&&&&&&&System.out.println("在新目录下已经存在:"+filename);&&&&&&&&}&&&&&&&&else...{&&&&&&&&&&&&oldfile.renameTo(newfile);&&&&&&&&}&&&&}&&&&&& }
1.利用FileInputStream读取文件
代码如下:public String FileInputStreamDemo(String path) throws IOException...{&&&&&&&&&File file=new File(path);&&&&&&&&&if(!file.exists()||file.isDirectory())&&&&&&&&&&&&&throw new FileNotFoundException();&&&&&&&&&FileInputStream fis=new FileInputStream(file);&&&&&&&&&byte[] buf = new byte[1024];&&&&&&&&&StringBuffer sb=new StringBuffer();&&&&&&&&&while((fis.read(buf))!=-1)...{&&&&&&&&&&&&&sb.append(new String(buf));&&& &&&&&&&&&&&&&buf=new byte[1024];//重新生成,避免和上次读取的数据重复&&&&&&&&&}&&&&&&&&&return sb.toString();&&&&&}
2.利用BufferedReader读取
在IO操作,利用BufferedReader和BufferedWriter效率会更高一点
代码如下:public String BufferedReaderDemo(String path) throws IOException...{&&&&File file=new File(path);&&&&if(!file.exists()||file.isDirectory())&&&&&&&&throw new FileNotFoundException();&&&&BufferedReader br=new BufferedReader(new FileReader(file));&&&&String temp=&&&&StringBuffer sb=new StringBuffer();&&&&temp=br.readLine();&&&&while(temp!=null)...{&&&&&&&&sb.append(temp+" ");&&&&&&&&temp=br.readLine();&&&&}&&&&return sb.toString();}
3.利用dom4j读取xml文件
代码如下:public Document readXml(String path) throws DocumentException, IOException...{&&&&File file=new File(path);&&&&BufferedReader bufferedreader = new BufferedReader(new FileReader(file));&&&&SAXReader saxreader = new SAXReader();&&&&Document document = (Document)saxreader.read(bufferedreader);&&&&bufferedreader.close();&&&&}
七.创建文件(文件夹)
1.创建文件夹&
代码如下:public void createDir(String path){&&&&&&&&&File dir=new File(path);&&&&&&&&&if(!dir.exists())&&&&&&&&&&&&&dir.mkdir();&&&&&}&
2.创建新文件
代码如下:public void createFile(String path,String filename) throws IOException{&&&&&&&&&File file=new File(path+"/"+filename);&&&&&&&&&if(!file.exists())&&&&&&&&&&&&&file.createNewFile();&&&&&}
八.删除文件(目录)
1.删除文件&&&
代码如下:public void delFile(String path,String filename){&&&&&&&&&File file=new File(path+"/"+filename);&&&&&&&&&if(file.exists()&&file.isFile())&&&&&&&&&&&&&file.delete();&&&&&}
2.删除目录要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。
代码如下:public void delDir(String path)...{&&&&File dir=new File(path);&&&&if(dir.exists())...{&&&&&&&&File[] tmp=dir.listFiles();&&&&&&&&for(int i=0;i&tmp.i++)...{&&&&&&&&&&&&if(tmp[i].isDirectory())...{&&&&&&&&&&&&&&&&delDir(path+"/"+tmp[i].getName());&&&&&&&&&&&&}&&&&&&&&&&&&else...{&&&&&&&&&&&&&&&&tmp[i].delete();&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&dir.delete();&&&&}}
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910您还未登陆,请登录后操作!
怎么运行java程序
编了一个程序 不知道怎么运行郁闷啊
后缀文件名是.java.那.java前面该写什么文件名啊。。。
这是我的程序 请老师们帮帮忙~`~
在初学java编程语言时,痛苦的事莫过于跟着示例一步步做,总是得不到想要的结果,这是很多初学者都会碰到的问题。下面详细教你运行第一个java应用程序(环境windows xp + jdk 6.0):
第一步:下载并安装JDK 6.0,安装路劲为: C:\java\jdk1.6 .
第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,弹出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\java\jdk1.6";如果存在"PATH"变量名,按编辑,在变量值最前面输入"C:\java\jdk1.6\".(注意以分号结尾,没有引号.如果没有"PATH",点击新建一个"PATH"变量名,变量值一样).
第三步:单击Windows xp的“开始”->“运行”,在弹出的运行窗口中输入cmd,按回车,打开一个命令行窗口,输入javac,将会看见一系列javac常用参数选项. 恭喜你java环境安装成功了.
第四步:开始编程(注意先双击打开"我的电脑",在"工具" ->"文件夹选项" ->
在初学java编程语言时,痛苦的事莫过于跟着示例一步步做,总是得不到想要的结果,这是很多初学者都会碰到的问题。下面详细教你运行第一个java应用程序(环境windows xp + jdk 6.0):
第一步:下载并安装JDK 6.0,安装路劲为: C:\java\jdk1.6 .
第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,弹出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\java\jdk1.6";如果存在"PATH"变量名,按编辑,在变量值最前面输入"C:\java\jdk1.6\".(注意以分号结尾,没有引号.如果没有"PATH",点击新建一个"PATH"变量名,变量值一样).
第三步:单击Windows xp的“开始”->“运行”,在弹出的运行窗口中输入cmd,按回车,打开一个命令行窗口,输入javac,将会看见一系列javac常用参数选项. 恭喜你java环境安装成功了.
第四步:开始编程(注意先双击打开"我的电脑",在"工具" ->"文件夹选项" -> 点击"查看"选项 ->在"高级设置"中找到"隐藏已知文件类型的扩展名"前面的小勾去掉)。在C盘的根目录中新建一个子目录,名为"JavaTest”,以作为存放 Java源代码的地方。在JavaTest文件夹中,新建文本文档, 把“新建 文本文档.txt”改为"HelloWorld.java"。用记事本打开"HelloWorld.java", 输入:
public class HelloWorld {
public static void main(String[] args) {
intln("Hello, world!");
intln("恭喜你成功运行了第一个java应用程序!");
}
}
注意源文件名必须与类名相同,且类修饰符为public,文件名后缀为".java".保存文件.
第五步:在命令行窗口中输入 cd C:\JavaTest,将当前路径转入JavaTest目录中。然后,输入 javac HelloWorld.java,JDK就在JavaTest文件夹中编译生成一个 ass的类文件。
第六步:在命令行窗口中输入 java HelloWorld,(注意没有.class后缀)屏幕出现了
Hello world!
恭喜你成功运行了第一个java应用程序!
表示成功了,也就顺利地编译及运行了第一个Java应用程序。
别乱了浮生
好极了啊啊啊啊啊 啊啊啊啊啊 啊啊啊啊啊啊啊
楼主 强大!!!真心感谢。我终于发现错在哪了!文件拓展名隐藏了,搞得是*.java.txt。弄得一直编译不了!!!谢谢阿
61.180.240.*
我还得说一遍,你太好了!我感谢死你了!
172.16.205.*
太好了 非常感谢啊 真给力啊
61.142.10.*
61.142.10.*
VERY GOOD!灰常感谢啦!哈哈
java 出的来一些用法 javac 出不来
java 不是javac 吧
172.16.205.*
看书怎么也看不懂,谢谢你,非常的感谢,现在很开心啊!
117.43.86.*
再次感谢!
117.43.86.*
非常感谢!
我想重复前面的人的话,太好了,我运行了第一个程序。强力推荐
回答数:81
,像Eclipse,jbuilder都可以帮你运行,这样运行的比较简单,CMD也可以运行,那个就很麻烦了。
您的举报已经提交成功,我们将尽快处理,谢谢!jsp怎么得到服务器端一个文件夹下的所有文件的文件名 - Java Web - 网站开发技术
帮助别人就是帮助自己!
如果这里解决了您的问题,请您点一下推荐
jsp怎么得到服务器端一个文件夹下的所有文件的文件名
一个jsp项目,项目中一个文件夹名为 upload 专门用来存放上传到啊服务器的数据。启动tomcat,运行项目。如果我想在前台一个jsp页面上显示upload文件夹下的所有文件名,请问怎么做?路径怎么获取?谢谢
比如现在运行一个名为upLoadTest的项目,往服务器端上传了一些数据。 本机下,数据存放在 tomcat安装路径的webapps\\upLoadTest\\upload文件夹下,请问如何获取这些文件的文件名?不知道我讲清楚了没有。。呵呵`
String dir = request.getSession().getServeletContext().getRealPath("/upLoadTest/upload");File file = new File(dir);File[] files = file.listFiles()在java中,我想通键盘输入一个文件名,而不是在FileOutputStream()的括号里面先写入,请问如何实现???_百度知道
在java中,我想通键盘输入一个文件名,而不是在FileOutputStream()的括号里面先写入,请问如何实现???
我们通常不是这样的的吗.txt“)?;我想在程序运行时将括号里的文件名通过键盘输入,应该怎么实现;文件名:FileOutputStream(&quot?
提问者采纳
FileOutputStream c=new FileOutputStream(&}} 第二种方法;public class A{
public static void main(String[] args){
BufferedReader b=new BufferedReader(new InputStreamReader(System.next()代码如下;).b.txt&quot.*;c.in);public class A{
public static void main(String[] args){
Scanner in=new Scanner(Simport java.readLine():第一种方法;
String b(这个是你需要的文件名)=in.in)):import java.*.txt&)..util:
FileOutputStream c=new FileOutputStream(&quot
提问者评价
其他类似问题
按默认排序
其他2条回答
new&nbsp,它可以输入各种类型的数据;static&=&nbsp.in);Exception{
Scanner&public&Scanner(SfileName&void&sc&throws&
String&nbsp.println(fileName):&请输入文件名;class&nbsp. }}上面是你的要求;=&nbspimport&nbsp.println(&
Smain(String&nbsp.Test&nbsp,从键盘输入最好用S
System.Scanner.nextLine();args[])&nbsp.);{ public&java
Scanner scanner=new Scanner(System.in);//从键盘接受数据
初始化Scanner对象System.out.println(&请输入文件名:&);//提示信息String fileName=scanner.next();//接受数据并赋值
fileoutputstream的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何使用Java读取一个文件夹内所有文件的文件名?
[问题点数:50分,结帖人octopus2027]
如何使用Java读取一个文件夹内所有文件的文件名?
[问题点数:50分,结帖人octopus2027]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2003年1月 C++ Builder大版内专家分月排行榜第二
2005年4月 Java大版内专家分月排行榜第三2001年12月 C/C++大版内专家分月排行榜第三
2005年10月 Java大版内专家分月排行榜第三
2005年10月 Java大版内专家分月排行榜第三
2008年1月 Java大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 java 获取文件名 的文章

 

随机推荐