java 文件目录读写删除操作详细实现代码 java 文件目录读写删除操作是日常编程中非常常见的操作,了解这些操作的实现细节对提高编程能力非常有帮助。下面将详细介绍 java 文件读写删操作的实现代码。 一、获得控制台用户输入的信息 在 java 中,获得控制台用户输入的信息可以使用以下代码实现: ```java 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); return str; } ``` 这个方法可以返回用户输入的信息,但是它有一个缺陷,就是不支持中文输入,这是因为在 java 中,控制台的输入默认使用系统编码,而不是 unicode 编码,所以无法正确地处理中文输入。为了解决这个问题,可以使用 unicode 编码来读取控制台输入。 二、复制文件 java 中有多种方式可以复制文件,下面给出两种常见的方法: 1. 以文件流的方式复制文件 ```java 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); int c; 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 等。 2. 使用 NIO channels 复制文件 ```java public void copyFile(String src,String dest) throws IOException { FileChannel inChannel = new FileInputStream(src).getChannel(); FileChannel outChannel = new FileOutputStream(dest).getChannel(); inChannel.transferTo(0, inChannel.size(), outChannel); inChannel.close(); outChannel.close(); } ``` 这个方法使用 java 的 NIO channels 机制,可以快速地复制大文件。 三、写文件 java 中有多种方式可以写文件,下面给出两种常见的方法: 1. 使用 PrintStream 写文件 ```java 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 写文件 ```java 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(); } ``` 这个方法可以设定使用何种编码,有效解决中文问题。 四、文件重命名 java 中可以使用以下代码实现文件重命名: ```java public void renameFile() { File file = new File("oldName.txt"); if(file.exists()) { File newFile = new File("newName.txt"); file.renameTo(newFile); } } ``` 这个方法可以快速地重命名文件,但是需要注意的是,如果目标文件已经存在,将会被覆盖。 java 文件目录读写删除操作的实现代码非常复杂,但是了解这些操作的细节对提高编程能力非常有帮助。
- 粉丝: 4
- 资源: 881
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助