Console/File IO

简介: import static静态导入 一般我们导入一个类都用 import com.***.ClassName; 而静态导入是这样:import static com.....ClassName.*;这里多了个static和类名后面的“.*” ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。 然后在这个类中,就可以直接用方法名调用

import static静态导入

一般我们导入一个类都用 import com.***.ClassName;
而静态导入是这样:import static com.....ClassName.*;这里多了个static和类名后面的“.*” ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。
然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式。
这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。

toString()

public class ll {
	public String toString(){
		return "hehe";
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ll obj=new ll();
		System.out.print(obj);//hehe	
	}
}
/*toString()是一个特殊的方法,把一个类转换成String时就会自动调用*/

嵌套函数调用io

//: net/mindview/util/Print.java
// Print methods that can be used without
// qualifiers, using Java SE5 static imports:
package net.mindview.util;
import java.io.*;

public class Print {
  // Print with a newline:
  public static void print(Object obj) {
    System.out.println(obj);
  }
  // Print a newline by itself:
  public static void print() {
    System.out.println();
  }
  // Print with no line break:
  public static void printnb(Object obj) {
    System.out.print(obj);
  }
  // The new Java SE5 printf() (from C):
  public static PrintStream
  printf(String format, Object... args) {
    return System.out.printf(format, args);
  }
} ///:~
其他文件中只需import static net.mindview.util.Print.*;  
就可以print()直接输出了

File 读取

方法一:File->FileReader->Scanner
方法二: File->FileInputStream->InputStreamReader->BufferedReader
方法三: File->FileReader->BufferedReader

Scanner

scanner对象把待读入的数据都理解为字符串,若要把"123"转化为int,那么这个转化过程不能免。
next()方法读入下一个字符串,定界符就是空格、换行、制表符之类的,跟cpp默认的cin>>一致,当然也可以自定义。
几个常用方法:
Pattern delimiter() 
          返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
boolean hasNext() 
          判断扫描器中当前扫描位置后是否还存在下一段。
boolean hasNextLine() 
          如果在此扫描器的输入中存在另一行,则返回 true。
String  next() 
          查找并返回来自此扫描器的下一个完整标记。
String nextLine() 
          此扫描器执行当前行,并返回跳过的输入信息。
useDelimiter()
Sets this scanner's delimiting pattern to a pattern constructed from the specified String.

File 新建及写入

Windows中空格为\r\n  注意\r在\n前面。


Path

jdk 1.7及以后才出现的东东。
java.nio.file. Path
接口,代表文件路径。
java.nio.file. Paths
这个类中有下面这个静态方法,根据指定的string得到Path对象。
Path java.nio.file.Paths. get(String first, String... more)
根据指定的string得到Path对象。
目录
相关文章
|
4月前
|
存储 缓存 安全
Java 中 IO 流、File文件
Java 中 IO 流、File文件
|
4月前
|
Java Unix Windows
|
22小时前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
1月前
|
Java
IO流操作-------File类、输入流和输出流(二)
这篇文章介绍了Java中IO流操作的基本概念和使用,包括字节流和字符流的读取与写入,以及如何使用缓冲流提高文件读写效率和实现文件复制的方法。
IO流操作-------File类、输入流和输出流(二)
|
1月前
|
Java
IO流操作-------File类(一)
这篇文章介绍了Java中File类的常用操作,包括创建文件/文件夹、删除文件、查询文件属性(如存在性、大小、名称、路径)以及递归遍历文件夹下所有文件的方法。
IO流操作-------File类(一)
|
1月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
42 3
|
3月前
|
C++
Open3D File Io 文件IO
Open3D File Io 文件IO
|
3月前
|
存储 Go C#
【.NET Core】深入理解IO之File类
【.NET Core】深入理解IO之File类
56 6
|
4月前
|
Java API
文件IO (File对象, 文件读写)
文件IO (File对象, 文件读写)
39 2
|
3月前
|
Java 应用服务中间件
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
71 0