精华内容
下载资源
问答
  • Java读写文件操作

    2018-07-08 10:36:45
    读写文件操作Java程序开发常常用到的。因此,我封装了一个工具类专门用于读取文件内容、向文件写入内容的工具类。代码如下: public class FileUtils { public static void main(String[] args) { //system....

    读写文件操作在Java程序开发常常用到的。因此,我封装了一个工具类专门用于读取文件内容、向文件写入内容的工具类。代码如下:

    public class FileUtils {
    
    
        public static void main(String[] args) {
            //system.out.println(file.separator);
            try {
                test1();
            } catch (Exception e) {
                System.out.println("Error:" + e.getMessage());
            }
        }
    
        public static void test1() throws IOException {
            String dirPath = "E:\\Program Files\\JavaIDE2017\\JavaWebDemo\\FileOperationDemo\\src";
            String fileName = "test.txt";
            String content = readFileContent(dirPath + File.separator + fileName);
            System.out.println(content);
            writerContentToFile(dirPath, "test1.txt", content);
        }
    
        /**
         * 判断文件是否存在
         *
         * @param filePath
         * @return     
         */
        public static boolean isFileExists(String filePath) {
            return new File(filePath).exists();
        }
    
        /**
         * 判断文件是否是目录
         *
         * @param filePath
         * @return     
         */
        public static boolean isDirectoty(String filePath) {
            return new File(filePath).isDirectory();
        }
    
        /**
         * 读取文件的内容
         *
         * @param filePath
         * @return
         * @throws IOException     
         */
        public static String readFileContent(String filePath) throws IOException {
            StringBuilder sb = new StringBuilder();
            File file = new File(filePath);
            if (!file.exists()) {
                throw new IOException("指定文件不存在:" + filePath);
            }
            if (file.isDirectory()) {
                throw new IOException("指定文件是一个文件夹:" + filePath);
            }
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
            String str;
            while (null != (str = bufferedReader.readLine())) {
                sb.append(str).append("\n");
            }
            bufferedReader.close();
            return sb.toString();
        }
    
    
        /**
         * 向指定文件写入内容
         *
         * @param parentDirPath 文件父目录
         * @param fileName      输出文件名
         * @param content       写入内容
         * @throws IOException     
         */
        public static void writerContentToFile(String parentDirPath, String fileName, String content) throws IOException {
            File parentDir = new File(parentDirPath);
            if (!parentDir.exists()) {
                throw new IOException("输出文件父目录不存在:" + parentDirPath);
            }
            BufferedWriter bufferedWriter = new BufferedWriter(
                    new OutputStreamWriter(new FileOutputStream(parentDirPath + File.separator + fileName)));
            bufferedWriter.write(content);
            bufferedWriter.close();
        }
    
    }
    

     

    展开全文
  • JAVA读写文件操作

    2015-07-17 10:40:35
    JAVA读取文件操作

    JAVA读写文件操作

    1. java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。
    2. 从标准输入流System.in中直接读取使用者输入时,使用者每输入一个字符,System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了BufferedReader来对使用者输入的字符进行缓冲。readLine()方法会在读取到使用者的换行字符时,再一次将整行字符串传入。
    3. System.in是一个位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。

    例子代码如下:

    
    package test;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.ByteArrayInputStream;
    import java.io.DataInputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    public class TestByteArray {
    
        /* 构造一个测试流,这样就不用从文件里面读取了,
         * 在这个流里面使用了大量的回车换行("\r\n"),
         * 这样方便过会的测试,过会,我会通过把字符串转换成byte数组,
         * 然后通过ByteArrayInputStream来构造一个数据流 
         */
        public byte[] generateByte() {
            //长度40个。
            String str = "a\r\nbc\r\ndef\r\nghi\r\nj\r\nklmn\r\nopqr\r\ns\r\ntuvwx";
            StringBuffer buffer = new StringBuffer();
    
            // 通过循环,返回足够大的字符数据
            for(int i=0 ; i < 205; i++){
                buffer.append(str);
            }
            str = buffer.toString();
            System.out.println(str.length());
            return str.getBytes();
        }
    
        public static void main(String[] args) throws IOException {
    
            TestByteArray self = new TestByteArray();
            byte[] be = self.generateByte();
            InputStream in = new ByteArrayInputStream(be);
            InputStreamReader inputStreamReader = new InputStreamReader(in);
            BufferedReader bufferReader = new BufferedReader(inputStreamReader);
    
            //使用DataInputStream而不直接使用Inputstream是因为DataInputStream提供读取行操作
            //读取行时把字节转变为字符时可能会有编码问题,不推荐使用,这里只做测试用
            DataInputStream dataInputStream = new DataInputStream(in);
    
            // 先读取流里面的一行数据
            System.out.println("bufferReader=" + bufferReader.readLine());
    
            //使用dataInputStream读取数据,会发现什么也读取不到
            System.out.println("dataInputStream=" + dataInputStream.readLine());
    
            //使用inputstream读取数据,会发现什么也读取不到
            System.out.println("in=" + in.read());
    
            // InputStream读取不到数据,然后再使用原来的BufferedReader来读取数据,
            //发现是接着原来读取的.
            System.out.println("bufferReader=" + bufferReader.readLine());
    
            //我们上面的字符串比较小,我想如果字符串,大到缓存装不下的时候,
            //使用inputstream回头去读取数据,肯定是能读取到的
    
    
            //测试写入
            self.testWrite(args);
        }
    
        private void testWrite(String[] args) {
            try  
            {  
                //缓冲System.in输入流  
                //System.in是位流,可以通过InputStreamReader将其转换为字符流  
                BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));  
                //缓冲FileWriter  
                BufferedWriter bufWriter = new BufferedWriter(new FileWriter(args[0]));  
    
                String input = null;  
    
                //每读一行进行一次写入动作  
                while(!(input = bufReader.readLine()).equals("quit"))  
                {  
                    bufWriter.write(input);  
                    //newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符  
                    bufWriter.newLine();  
                }  
                bufReader.close();  
                bufWriter.close();  
            }  
            catch(ArrayIndexOutOfBoundsException e)  
            {  
                System.out.println("没有指定文件");  
            }  
            catch(IOException e)  
            {  
                e.printStackTrace();  
            }  
        }
    }
    

    运行结果

    运行结果:
    D:\hxy>java ysu.hxy.BufferedReaderWriterDemo test2.txt
    fsdafjads;fa
    fasdfas
    asdfdaf
    asd
    fdas
    fds
    fa
    df
    asdf
    dasff
    adsf
    a
    fasd
    quit
    会在目录下产生一个文件test2.txt,并在其中写入刚才输入的内容。

    展开全文
  • java 读写文件操作

    2018-07-16 14:24:07
    1.读文件private static List&lt;String&gt; readFile(String path) throws IOException { List&lt;String&gt; lines = new ArrayList&lt;&gt;(); File file = new File(path); ...

    1.读文件

    private static List<String> readFile(String path) throws IOException {
            List<String> lines = new ArrayList<>();
            File file = new File(path);
            FileInputStream fis = new FileInputStream(file);
    
            //Construct BufferedReader from InputStreamReader
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
    
            String line = null;
            while ((line = br.readLine()) != null) {
                lines.add(line);
            }
            br.close();
            return lines;
        }

    调用,这里的path是相对项目的根路径的path

    List<String> strings = readFile("datarx/src/main/users.txt");

    2.写文件

    File file = new File("datarx/src/main/test1.txt");
                    FileWriter fileWriter = new FileWriter(file);
    fileWriter.write(sql);
    fileWriter.write("\r\n");
    fileWriter.flush();
    fileWriter.close();

    fileWriter.write("\r\n");用来换行,windows下使用;



    展开全文
  • java读写文件操作

    2010-09-25 18:10:00
    将字符串写入文件:Code: import java.io.*; class FileOutputDemo { public static void main(String args[]) { FileOutputStream out; // declare a file output 

    将字符串写入文件:

    Code:
    1. import java.io.*;  
    2.   
    3. class FileOutputDemo {  
    4.     public static void main(String args[]) {  
    5.         FileOutputStream out; // declare a file output object  
    6.         PrintStream p; // declare a print stream object  
    7.   
    8.         try {  
    9.             // connected to "myfile.txt "  
    10.             out = new FileOutputStream("C:/a.txt");  
    11.             // Connect print stream to the output stream  
    12.             p = new PrintStream(out);  
    13.             p.println("This   is   written   to   a   file ");  
    14.             p.close();  
    15.         } catch (Exception e) {  
    16.             System.err.println("Error   writing   to   file ");  
    17.         }  
    18.     }  
    19. }  

    java读取文件内容:

    Code:
    1. import java.io.*;  
    2.   
    3. class FileInputDemo {  
    4.     public static void main(String args[]) {  
    5.         // args.length is equivalent to argc in C  
    6.             try {  
    7.                 // Open the file that is the first command line parameter  
    8.                 FileInputStream fstream = new FileInputStream("C:/b.txt");  
    9.                 // Convert our input stream to a DataInputStream  
    10.                 DataInputStream in = new DataInputStream(fstream);  
    11.                 // Continue to read lines while there are still some left to  
    12.                 // read  
    13.                 String s = "";  
    14.                 while (in.available() != 0) {  
    15.                     // Print file line to screen  
    16.                     s=in.readLine();  
    17.                     System.out.println(s);  
    18.                 }  
    19. //               String regex="src=/"";   
    20. //               s=s.replaceAll(regex,"str=/"http://article.star.com:8081/temp/");   
    21.                 in.close();  
    22.             } catch (Exception e) {  
    23.                 System.err.println("File   input   error ");  
    24.             }  
    25.           
    26.     }  
    27. }  

     

     

    展开全文
  • [java]代码库package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.regex....
  • java读写文件操作,替换每行多个空格为一个“,”1.[代码][Java]代码package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import ...
  • 1.如果指定文件不存在,则会自动创建该文件。 2.如果指定文件存在,则会覆盖写入。 3.如果不希望覆盖而是追加,那么要用另一种重载形式构造 public FileWriter(String fileName,boolean append),如果第二个参数是...
  • java读写文件操作大全

    2012-12-25 11:34:33
    1.以文件流的方式复制文件 public void copyFile(String src,String dest) throws IOException...{ FileInputStream in=new FileInputStream(src); File file=new File(dest); if(!file.exists()) ...
  • mysql批量导入txt文件数据load data local infile 'sa.txt' into table TableName fields terminated by ',' (table_colum_names);package test;import java.io.BufferedReader;import java.io.File;import java.io....
  • 一、文件读写保存在开发中是非常重要的一环。记录一下 FileUtils工具类,非常好用的工具类。简化了代码。 maven依赖包为: &lt;dependency&gt; &lt;groupId&gt;commons-io&lt;/groupId&...
  • javajava 读写文件

    2019-05-28 11:51:00
    Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream(); private void saveOldFile(String uid,String fileName,InputStream inputStream){...
  • /*** 二进制读写文件*/import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io...
  • packagecom....importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.net.URI;importjava.net.URISyntaxException;importorg.apache.hadoop.conf.Confi...
  • Java文件读写操作

    千次阅读 2017-08-14 09:45:54
    Java文件读写操作
  • java文件读写操作

    2019-07-16 14:15:40
    这个文件里面包含了java的IO流对文件的操作和java通道加内存映射对文件操作的源码
  • java读写操作是学java开发的必经之路,下面就来总结下java读写操作。从上图可以开出,java读写操作(输入输出)可以用“流”这个概念来表示,总体而言,java读写操作又分为两种:字符流和字节流。什么是流?流...
  • java 读写文件

    2019-07-16 16:56:16
    java.io几种读写文件的方式 一、Java把这些不同来源和目标的数据都统一抽象为数据流。  Java语言的输入输出功能是十分强大而灵活的。  在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入...
  • /*** 二进制读写文件*/import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io...
  • java读写操作是学java开发的必经之路,下面就来总结下java读写操作。从上图可以开出,java读写操作(输入输出)可以用“流”这个概念来表示,总体而言,java读写操作又分为两种:字符流和字节流。什么是流?流...
  • Java读写文件数据

    2020-03-19 17:04:20
    Java读写文件数据 输入输出流是对计算机文件进行操作的java类库。【读写文件数据】 1.计算机中的文件是由几部分组成 文件的基本属性。【文件的名称,后缀名,修改日期,类型…】【java.io.File类】 文件中的数据。...
  • Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定...
  • JAVA读写文件操作

    千次阅读 2018-03-21 10:44:12
    java文件读取有两种类型,我这里的是字节流的读取操作package test1;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io....
  • 代码如下:public static byte bSource;public static byte bTarget;.../*** 从二进制文件读取字节数组** @param sourceFile* @return* @throws IOException*/public static byte[] readFile(File source...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,841
精华内容 2,736
关键字:

java读写文件操作

java 订阅