zoukankan      html  css  js  c++  java
  • 3.7.3 文件输入与输出

        想要对文件进行读取,就需要一个File对象构造一个Scanner对象,如下所示:
            Scanner in = new Scanner(Paths.get("myfile.txt), "UTF-8");
     
        如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠:"c:\mydirectory\myfile.txt"
     
        import java.io.IOException;
        import java.lang.Exception;
        import java.nio.file.Paths;
     
          public static void main(String[] args) throws IOException {
                Scanner in = new Scanner(Paths.get("C:\Users\Avention\myfile.txt"),"UTF-8");  //以后都使用绝对路径吧
                
                try{
                      while (true){
                      String s = in.nextLine();
                      System.out.println(s);
                      }
                }
                catch (Exception e){
                      e.printStackTrace();
                      
                }
          }
     
    ?Mark
    满意
    Josn
    java.util.NoSuchElementException: No line found
          at java.util.Scanner.nextLine(Unknown Source)
          at myjavapp.Hello.main(Hello.java:22)
     
     
        注释:上述代码中指定了"UTF-8"字符编码,这对于互联网上的文件很常见(不过并不是普遍适用)。读取一个文本文件时,要知道它的字符编码。如果省略字符编码,则会适用运行这个Java程序的机器的“默认编码”。这不是一个好主意,如果在不同的机器上运行这个程序,可能会有不同的表现。
     
        
        现在,就可以利用前面介绍的任何一个Scanner方法对文件进行读取。
        要想写入文件,就需要构造一个 PrintWriter 对象。在构造器中,只需要提供文件名:
            PrintWriter out = new PrintWriter("myfile.txt","UTF-8");
     
        如果文件不存在,创建该文件。可以像输出到System.out一样使用print、println、printf命令
     
          public static void main(String[] args) throws IOException {
                PrintWriter out = new PrintWriter("C:\Users\Avention\myfile1.txt","UTF-8");
                for(int n=1;n<=10;n++){
                      out.println(n+" Mark");
                }
                out.close();  //文件写完要关闭,切记。
          }
    }
     
     
        访问文件与使用System.in 和 System.out一样容易,如果用一个不存在的文件构造一个Scanner,或者不能被创建的文件明后才能构造一个PrintWriter,那么就会发生异常。Java编译器认为这些异常比“被零除”异常更严重。
     
     
        注释:当采用命令行方式启动一个程序时,可以利用Shell的重定向语法将任意文件关联到System.in和System.out;
            java MyProg < myfile.txt > output.txt
            这样就不用担心处理IOException异常了。
     
    java.util.Scanner
        Scanner(File f) 构造一个从给定文件读取数据的Scanner。
        Scanner(String data) 构造一个从给定字符串读取数据的Scanner。
     
    java.io.PrintWriter
        PrintWriter(String filename) 构造一个将数据写入文件的PrintWriter。文件名由参数指定。
     
    java.nio.file.Paths
        static Path get(String pathname)  根据给定的路径名构造一个Path。
     
  • 相关阅读:
    更改已经签名的app中的内容
    POJ 1611 The Suspects
    hibernate session缓存
    男儿当自强
    图遍历的演示
    nginx源代码分析--事件模块 &amp; 琐碎
    多线程在python中的使用 thread
    机房收费 &amp; 廊院食堂
    the steps that may be taken to solve a feature selection problem:特征选择的步骤
    早绑定和迟绑定技术的通俗分析
  • 原文地址:https://www.cnblogs.com/avention/p/10123706.html
Copyright © 2011-2022 走看看