首页 课程 师资 教程 报名

Java编程基础分享,Io编程练习题

  • 2020-07-09 15:01:28
  • 1766次 动力节点

1、最高效读写文件

public class Test {
 /**
  * 最高效的读写文件
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {
  //创建文件和文件夹
  String filePath="d:\gm\gtm\ss.txt";
  File file=new File(filePath);
  File parentFile=file.getParentFile();
  if(!parentFile.exists()){
   System.out.println("文件夹不存在");
   parentFile.mkdirs();
  }else{
   System.out.println("文件夹存在");
   deleteFolder(file);
   parentFile.mkdirs();
   System.out.println("创建文件夹成功");
  }
  try {
   file.createNewFile();
   System.out.println("创建文件成功");
  } catch (IOException e) {
   e.printStackTrace();
  }
  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"utf-8"),1024);
  BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath),"utf-8"),1024);
  String line=null;
  while((line=bufferedReader.readLine())!=null){
   bufferedWriter.write(line);
   bufferedWriter.newLine();
   bufferedWriter.flush();
  }
  bufferedWriter.close();
  bufferedReader.close();
 }
 
 public static void deleteFolder(File folder){
  File[] file=folder.listFiles();
  if(file !=null){
   for(File f:file){
    if(f.isDirectory()){
     deleteFolder(f);
    }else{
     f.delete();
    }
   }
  }
  folder.delete();
  System.out.println("删除成功");
 }

2、最高效读写媒体文件

public class Test {

 /**
  * 最高效率读写媒体文件,只能使用buffered字节流,因为使用字符流的话,读取的时候还是先独到字节,再根据unicode码表去找对应的字符,
  * 找不到的就会随便用一个字符代替,这样就会乱码
  */
 public static void main(String[] args) {
  String picPath="D:"+File.separator+"Pictures"+File.separator+"个人照片"+File.separator+"DSCF4505A.jpg";
  String newPath="D:"+File.separator+"gm"+File.separator+"gtm"+File.separator+"123.jpg";
  BufferedInputStream bufferedInputStream = null;
  BufferedOutputStream bufferedOutputStream = null;
  try {
   bufferedInputStream=new BufferedInputStream(new FileInputStream(picPath));
   bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(newPath));
   int len=0;
//   byte[] b=new byte[1024]; 不需要使用,因为缓冲流自带缓冲区,也就是这个字节数组
   try {
    while((len=bufferedInputStream.read())!=-1){
     bufferedOutputStream.write(len);
    }
   } catch (IOException e) {
    e.printStackTrace();
   }
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }finally{
   if(bufferedOutputStream!=null){
    try {
     bufferedOutputStream.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
   if(bufferedInputStream!=null){
    try{
    bufferedInputStream.close();
    }catch(IOException e){
     e.printStackTrace();
    }
   }
  }
  
 }

以上就是动力节点java培训机构的小编针对“Java编程基础分享,Io编程练习题”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交