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。

原文地址:https://www.cnblogs.com/avention/p/10123706.html

时间: 2024-11-06 07:12:09

3.7.3 文件输入与输出的相关文章

C++文件输入和输出

1.引入头文件fstreamfstream头文件定义了用于文件输入的类ifstream和文件输出的类ofstream 2.写文件1)创建一个ofstream对象来管理输出流2)将该对象与文件关联起来3)使用cout方式使用该对象,唯一区别是输出将进入文件,而不是屏幕.4)关闭到文件的连接示例如下: ofstream fout; fout.open("test.txt"); fout<<"write something"; fout.close(); 创建

【Java】字节流-从文件输入,输出到文件

假如需要复制一张图片,一份word,一个rar包.可以以字节流的方式,读取文件,然后输出到目标文件夹. 以复制一张4M的图片举例. 每次读一个字节: ch = (char)System.in.read(); //读入一个字符,返回读到的字节的int表示方式,读到末尾返回-1 复制时候一个字节一个字节的读取.写入,这样是很慢的.设置一个用来缓冲的字符数组,会让复制的过程快很多(每次读入的字节变多). 方便阅读,类的名称用中文描述 import java.io.*; public class 字节流

python文件输入和输出

1.1文件对象 文件只是连续的字节序列.数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成.1.2文件内建函数open()和file() 内建函数open()的基本语法是: file_object=open(file_name,access_mode='r',buffering=-1) file_name是包含要打开的文件名字的字符串,它可以是相对路径或者绝对路径. access_mode可选变量也是一个字符串,代表文件打开的模式. 'r'代表:读取: 'w'代表:写入: 'a'

python基本文件操作(文件输入和输出)

文件输入输出中常用的文件对象方法: open : 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行你给哦如果您包括结尾的换行符在内 write: 将数据写入文件中 close: 关闭文件对象:   举例:读取E盘中的work.txt文件 f = open('work.txt') line  =f.readline() print(line) f.close() 如果给readline设置一个参数 n 则读取n个字符 不设置 则只读取一行包括结尾的换行符

Java 输入/输出(I/O)学习笔记 -- 文件输入与输出

在保存数据时,可以选择二进制格式或文本格式.例如,整数 1234 存储成二进制数时,它被写为由字节 00 00 04 D2 构成的序列(十六进制表示法) ,而存储成文本格式时,它被存成了字符串" 1234" .尽管二进制格式的 I/O 高速且高效,但是不宜人来阅读. 读写文本数据 在存储文本字符串时,需要考虑字符编码(character encoding)方式.在 UTF-16 编码方式中,字符串" 1234"编码为 00 31 00 32 00 33 00 34

网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业1:OJ编程

第7单元 - 作业1:OJ编程 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 本作业是第7单元作业系列. 本单元[多个作业]之间有[前后依赖关系]. 本单元作业应[按照次序]完成. 依照学术诚信条款,我保证此作业是本人独立完成的. 1 阅读所给的代码,理解代码的主要功能及原理 补充缺失代码 提交OJ判分(10分) 题目内容: 以单例模式创建一个屏幕Screen

Python之文件输入和输出

文件的打开方式 r        以只读方式打开 w        以写方式打开(必要时清空) a        以追加模式打开 r+        以读写方式打开 w+        以读写方式打开 a+        以读写方式打开 文件输入输出 方法                作用 read()      读取字节到字符串中,最多读取给定数目个字节 readline()    读取一行,包括行结束符,以字符串方式返回 readlines()    读取所有行,以列表方式返回 write

C++ Primer Plus 第17章 输入,输出和文件

第17章 输入.输出和文件 1.当到达输入语句时,他将刷新输出缓冲区中当前所有的输出 2.streambuf类 提供了对缓冲区的各种操作 ios_base类表示流的一般特征 ios类基于ios_base,包含了一个指向streambuf对象的指针 ostream类从ios派生,提供可输出方法 istream类从ios派生,提供可输入方法 iostream类基于ostream和istream,继承了输入和输出方法 3.包含iostream则自动创建了8个流对象 cin 标准输入 wcin 宽字符流

文件输入/输出

fopen:打开文件.第一个参数文件名的字符串地址.打开模式:r:读 w:写,会改 没有就创建 a:追加 ,没有就创建 r+:读取和写入 w+:同上但会改 没有就创建a+:同上,但是追加 rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b,使用二进制模式而不是文本模式打开,其他类似 getc():到达文件结尾时,会返回EOF putc() 与getchar().putchar类似但适用于文件 putc(ch,文件指针) fclose 关闭由指针fp指定的文件#include<std