JAVA学习笔记1 输入输出,Scanner,File
来源:互联网 发布:json在线压缩工具 编辑:程序博客网 时间:2024/06/06 00:29
Scanner类位于 java.util 包内,可以对字符串和基本数据类型进行分析。
1 读取控制台输入:
Scanner scan = new Scanner(System.in); //构造方法
读取可调用以下方法: scan.nextByte(); scan.nextDouble(); scan.nextInt(); scan.nextFloat(); //基本类型
scan.nextLine(); //等待用户输入一个文本行,并回车确认,得到一个string类型
scan.next() ;返回内容是一个字符串
上述方法执行时都会造成堵塞,等待用户在命令行输入数据,回车确认。
另有返回值为布尔量的方法: scan.hasNextDouble();等等,这些是明确了数据类型的,如果只是查看是否还有输入,用scan.hasNext();
2 读文件
【例1】
String filename=" C:\\alipay\\text.txt";
import java.io.* // BufferedReader和FileReader 位于此包内
必须使用try-catch块,否则容器无法接收File抛出的异常
public static void main(String Args[]) throws IOExcepion{
try{
Scanner scan = new Scanner (BufferedReader( new FileReader(filename)));
scan.useDelimiter(String s),s即为分隔符。
while(scan.hasNext())
System.out,println(scan.next());
} catch
然后使用和控制台一样的方法读取文件流。
【例2】
Scanner scan = new Scanner (new File(filename))
scan.useDelimiter(System.getProperty("line.separator")) // getProperty获得系统值,此处为行分隔符,应该可以直接用"/n”
因为scan的分割符以行为单位,对scan读到的字符串若要再进行分割,所以涉及到了Scanner的功能3
3 分割字符串 , 就是构造方法参数直接用字符串,其他没什么不同。
【续例2】
Scanner linescan = new Scanner( line)
lineScanner.useDelimiter(","); //如果不显式使用useDelimiter, 则默认分隔符为空格,直接用各种next方法处理。
最后使用scan.close()关闭Scanner。
File类位于java.io包内,文件也是对象,这里讨论文件的创建与写入
1 创建文件
【例3】
File file = new File ("C:\\alipay\\testout.txt "); //可以用相对路径或绝对路径
if (file.exists()==false) file.createNewFile();
上面的代码还可以写成,File file1 = new File("C:\\alipay"); File file = new File(File1,"testout.txt") 把文件夹和文件名分开
考虑如果文件的上级文件夹不存在的情况
if (file1.exists()==false) { file1.mkdirs(); } //创建一个文件夹用mkdir, 如果有父子文件夹,就要用mkdirs
BTW, 可以用方法 file.isDirectory() 和 file.isFile() 来判断Path的性质,以及file.getParent()获取父路径
2 文件写入
【例4】
Scanner 2 例一中用到了BufferedReader来读取文件,这里也是类似的一个缓冲字符流。涉及到的类还有File, FileReader FileWriter等等等等。
String content = "xxxxxxx";
BufferedWriter bw = new BufferedWriter( new FileWriter(file.getAbsoluteFile()));
// getAbsoluteFile 的返回对象是File类的一个引用,而getAbsolutePath 返回的是绝对路径字符串.
bw.write(content);
bw.close();
假如要多次写入,就应该追加,否则上一次输出的内容会被覆盖。
method1:
FileWriter writer = new FileWriter (filename,true)) 参数true表示以追加形式写文件
writer.write(content);
method2:
BufferedWriter bw = BufferedWriter(new FileWriter(filename,true));
BufferedWriter bw = BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename,true))); 另一种包装,但是要加参数true
- JAVA学习笔记1 输入输出,Scanner,File
- java输入输出学习笔记
- java输入输出学习笔记2
- java学习笔记-输入输出流
- Java学习笔记之输入输出
- JAVA输入输出流学习笔记
- Java学习笔记之输入输出流(一) File、文件字节流、文件字符流
- Java学习笔记-File
- Java学习之Scanner
- java Scanner学习
- 学习笔记(4)~java中Scanner的用法
- Java IO学习笔记(九):BufferedReader和Scanner
- Java学习笔记-Scanner和BufferedReader的区别和用法
- 黑马程序员—java中的Scanner类学习笔记
- Java IO学习笔记(九):BufferedReader和Scanner
- Java学习笔记(一)scanner.math.character类方法
- java文件输入输出流学习笔记
- [学习笔记]Java输入输出和流程控制
- 《语音信号处理》第一章总结——概述
- SqlServer系统数据库还原(三)系统数据库master-msdb-model 还原模拟测试
- Android学习之listView显示下拉列表(2)(SimpleAdapter适配器)
- NYOJ 204 Coin Test【简单题+英文题】
- Xilinx Zynq器件要点(3)
- JAVA学习笔记1 输入输出,Scanner,File
- 常用排序算法
- Lua学习笔记:面向对象
- IOC依赖倒置(个人理解)
- AOP面向切面编程(个人理解)
- (理解)ORM对象-关系映射
- 协议森林01 邮差与邮局(protocol)
- 协议森林02 广播
- 协议森林03 IP