Java练手题之七IO编程
来源:互联网 发布:音频去噪音软件 编辑:程序博客网 时间:2024/06/05 03:09
1.编写程序,列出给定路径下的文件名和目录文件名
import java.lang.*;import java.util.ArrayList;import java.io.*;class my{ public static void main(String args[]){ try{ File file=new File(args[0]); if(file.isFile()){ System.out.println(args[0]+" 文件"); System.out.print(file.canRead()?"可读":"不可读"); System.out.print(file.canWrite()?"可写":"不可写"); System.out.println(file.length()+"字节"); } else{ File[] files=file.listFiles(); ArrayList<File> fileList=new ArrayList<File>(); for(int i=0;i<files.length;i++){ if(files[i].isDirectory()){ System.out.println("["+files[i].getPath()+"]"); } else{ fileList.add(files[i]); } } for(File f:fileList){ System.out.println(f.toString()); } System.out.println(); } } catch(ArrayIndexOutOfBoundsException e){ System.out.println("using : java FileDemo Pathname"); } }}
2.进行文件的复制
①利用FileInputStream和FileOutputStream,中间用一个byte数组作为缓冲
import java.lang.*;//import java.util.ArrayList;import java.io.*;public class my{ public static void main(String args[]){ try{ byte[] buffer=new byte[1024]; FileInputStream fileInputStream=new FileInputStream(new File(args[0])); FileOutputStream fileOutputStream=new FileOutputStream(new File(args[1])); System.out.println("复制文件"+fileInputStream.available()+"字节"); while(true){ if(fileInputStream.available()<1024) { int remain=-1; while((remain=fileInputStream.read())!=-1){ fileOutputStream.write(remain); } break; } else{ fileInputStream.read(buffer); fileOutputStream.write(buffer); } } fileInputStream.close(); fileOutputStream.close(); System.out.println("复制完成"); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("using : java FileStreamDemo src des"); e.printStackTrace(); } catch(IOException e ){ e.printStackTrace(); } }}②缓冲用BufferedInputStream和BufferedOutputStream代替
import java.io.*;public class my{ public static void main(String args[]){ try{ byte[] data=new byte[1]; File srcFile=new File(args[0]); File desFile=new File(args[1]); BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(desFile)); System.out.println("copy file"+srcFile.length()+"bytes"); while(bufferedInputStream.read(data)!=-1) { bufferedOutputStream.write(data); } bufferedOutputStream.flush(); bufferedInputStream.close(); bufferedOutputStream.close(); System.out.println("copy completed!"); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("using : java UseFileStream src des"); e.printStackTrace(); } catch(IOException e ){ e.printStackTrace(); } }}
3.其他
将代码编写在txt中,编译的时候,出现了GBK映射的问题,将命令改为如下javac -encoding utf-8 **.java,发现又出现了非法字符:\65279的问题,很郁闷~~我把代码拷贝到MyEclipse中,可以编译通过,原来MyEclipse的jdk和我在cmd下的jdk机制不一样,最后解决的方法就是用EltraEdit将txt格式的代码保存为UTF8-无BOOM,最后编译通过,执行ok~~
- Java练手题之七IO编程
- java练手题之六IO
- 练手/2048/IO/Swing/Java
- Java练手题一之基本语法
- java练手题之四接口
- java练手题之五异常
- 文件IO编程七
- 50道java编程小题,平常可以拿来练手
- 50道java编程小题,平常可以拿来练手
- java io 编程题
- java练手题之三类继承与多态
- java IO 输入输出(七)
- java学习——java基础(七)之 IO
- 笑谈java并发编程七之ExecutorService
- 黑马程序员学习笔记之七(Java IO操作)
- java学习之七(IO流下篇)
- Java之IO(七)转换流 InputStreamReader、OutputStreamWrite
- Java学习笔记之IO(七):FileReader输入字符流
- prum算法介绍
- 小团聚
- HDOJ 七夕节月老
- 不要参与“输家的游戏”,长期投资策略才是成功之道
- 关于new、delete和堆的一些理解
- Java练手题之七IO编程
- 鸽巢原理 应用
- Android动态加载ListView中的Item【安卓进化二十三】
- 更改VLC源码 实现使用libVLC录像功能
- ECC6安装
- joj 1131 Intersection
- 6、从头学Android之ContexMenu上下文菜单
- 数据库的深入连接
- 80-VP432-1_A_AMSS_7x27_Board_Support_Package.pdf