java 文件读写实例

简介: java 文件读写实例

1.dump

将一个文件(图片lion.jpg)复制一份(bbb.bmp)。

主要的部分:使用java.io的InputStream和OutputStream来进行文件输入、输出(write)。

    public static void dump(InputStream src, OutputStream dest)
    throws IOException
    {
        InputStream input = new BufferedInputStream(src);
        OutputStream output = new BufferedOutputStream(dest);
        byte[] data = new byte[1024];
        int length = -1;
        while ((length = input.read(data)) != -1) {
            output.write(data, 0, length);
        }
        input.close();
        output.close();
    }

完整代码:

package ch9;
import java.io.*;
 
public class dump {
  public static void main(String[] args) {
    try
    {
      dump(new FileInputStream("D:\\lion.jpg"),
         new FileOutputStream("D:\\bbb.bmp"));  
    }
    catch(FileNotFoundException fex)
    {
      fex.printStackTrace();
    }
    catch(IOException ioe)
    {
      ioe.printStackTrace();
    }
  }
  
  public static void dump(InputStream src, OutputStream dest) throws IOException
  {
    InputStream input = new BufferedInputStream(src);
    OutputStream output = new BufferedOutputStream(dest);
    byte[] data = new byte[1024];
    int length = -1;
    while((length = input.read(data))!= -1) {
      output.write(data, 0, length);
    }
    input.close();
    output.close();
  }
  
  
}

2.ReadLineAndAddNum

读入一个java文件,然后去掉注释,加上行号。

主要部分:

try {
      File fin = new File(infname);
      File fout = new File(outfname);
      
      BufferedReader in = new BufferedReader(new FileReader(fin));
      PrintWriter out = new PrintWriter(new FileWriter(fout));
      
      int cnt =0;
      String s = in.readLine();
      while(s!=null) {
        cnt++;
        s = deleteComments(s);
        out.println(cnt+":\t"+s);
        s = in.readLine();
    }
      in.close();
      out.close();
    }catch(FileNotFoundException e1) {
      System.err.println("File not found");
    }catch(IOException e2) {
      e2.printStackTrace(); 
    }
  }
package ch9;
import java.io.*;
public class ReadLineAndAddNum {
  public static void main(String[] args) {
    String infname = "C:\\Users\\刘飞\\eclipse-workspace\\ch9\\src\\ch9\\CopyFileAddLineNumber.java";
    String outfname = "C:\\Users\\刘飞\\eclipse-workspace\\ch9\\src\\ch9\\CopyFileAddLineNumber.txt";
    if(args.length >=1) infname = args[0];
    if(args.length>=2) outfname = args[1];
    
    try {
      File fin = new File(infname);
      File fout = new File(outfname);
      
      BufferedReader in = new BufferedReader(new FileReader(fin));
      PrintWriter out = new PrintWriter(new FileWriter(fout));
      
      int cnt =0;
      String s = in.readLine();
      while(s!=null) {
        cnt++;
        s = deleteComments(s);
        out.println(cnt+":\t"+s);
        s = in.readLine();
    }
      in.close();
      out.close();
    }catch(FileNotFoundException e1) {
      System.err.println("File not found");
    }catch(IOException e2) {
      e2.printStackTrace(); 
    }
  }
  
  static String deleteComments(String s)
  {
    if(s==null) return s;
    int pos = s.indexOf("//");
    if(pos<0) return s;
    return s.substring(0, pos);
  }
  
}
相关文章
|
15小时前
|
设计模式 安全 Java
Java中的单例模式是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点
Java单例模式确保类仅有一个实例,并提供全局访问点。常见实现包括: - 饿汉式:静态初始化,线程安全。 - 懒汉式:延迟初始化,需同步保证线程安全。 - 双重检查锁定:优化懒汉式,减少同步开销。 - 静态内部类:延迟加载,线程安全。 - 枚举:简洁线程安全,不适用于复杂构造。 - 容器实现:如Spring框架,用于依赖注入。选择依据需求,如延迟加载、线程安全和扩展性。
31 10
|
2天前
|
Scala
scala 读取文件(中文)异常 thread "main" java.nio.charset.MalformedInputException: Input length = 1
scala 读取文件(中文)异常 thread "main" java.nio.charset.MalformedInputException: Input length = 1
4 0
|
2天前
|
分布式计算 Hadoop Java
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
5 0
|
3天前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
18 0
|
3天前
|
前端开发 Java
java加载class文件的原理
java加载class文件的原理
|
4天前
|
存储 Java Maven
如何在Java中导入和导出CSV文件
如何在Java中导入和导出CSV文件
10 2
|
9天前
|
Java
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
9 0
|
10天前
|
Java Maven
Java 怎样从 excel 中读取文件、写入文件
Java 怎样从 excel 中读取文件、写入文件
14 0
|
10天前
|
JavaScript Java Android开发
在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
13 1
|
10天前
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
46 0