File类
PS:注意:单反斜杠是转义字符!两个反斜杠表示一个反斜杠
public class FileDemo {
public static void main(String[] args) {
//File:File(String pathname):通过指定的路径名字字符串转换为抽象路径名来创建新的File实例
File file=new File("D:\\test\\java.txt");
System.out.println(file);
//File(String parent, String child): 从父路径字符串和子路径字符串创建新的File实例
File file1=new File("D:\\test","java.txt");
System.out.println(file1);
//File(File parent, String child):从父路抽象径名和子路径名字字符串创建新的File实例
File file2=new File("D:\\test");
File file3=new File(file2,"java.txt");
System.out.println(file3);
}
}
File类的创建功能
先在D盘下创建目录test
public class FileDemo2 {
public static void main(String[] args) throws IOException {
//需求1:我要在D:\\test目录下创建一个文件java.txt
File file=new File("D:\\test\\java.txt");
System.out.println(file.createNewFile());
//需求2:我要在D:\\test目录下创建一个目录JavaSE
File file1=new File("D:\\test\\JavaSE");
System.out.println(file1.mkdir());
//需求3:我要在D:\\test目录下创建一个多级目录JAVAWEB\\HTML
File file2=new File("D:\\test\\JAVAWEB\\HTML");
System.out.println(file2.mkdirs());
}
}
File类判断和获取功能
知道就行,不多介绍,自己敲代码理解
删除功能
字节流
字节流写数据(FileOutStream)
public class FileDemo3 {
public static void main(String[] args) throws IOException {
//创建字节输出流对象
//FileOutputStream(String name):创建文件输出流以指定的名称写入文件0
FileOutputStream fileOutputStream=new FileOutputStream("D:\\test\\fos.txt");
/*
做了三件事:
1、调用系统功能创建了文件
2、创建了字节输出流对象
3、让字节输出对象指向创建好的文件
*/
//void write(int b) :将指定的字节写入此文件输出流
fileOutputStream.write(97);
fileOutputStream.write(57);
//最后都要释放资源
fileOutputStream.close();
}
}
打开对应的txt文件
字节流写输入的三种方式
Scanner
public class ScannerDemo1 {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner=new Scanner(System.in);
//用next方法接收数据
System.out.println("请输入数据:");
//判断是否有输入
if (scanner.hasNext()){
String str=scanner.next();
System.out.println("输入的数据是:"+str);
}
//关闭
scanner.close();
}
}
可以发现没有输出 456(改为readLine就可以输出了)
next()和nextLine()的区别:
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine(): - 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
public class ScannerDemo2 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//表示只能输入int类型数据
int i=scanner.nextInt();
System.out.println(i);
scanner.close();
}
}
public class ScannerDemo3 {
public static void main(String[] args) {
System.out.println("请输入数据:");
Scanner scanner=new Scanner(System.in);
double sum=0;
int m=0;
while(scanner.hasNextDouble()){
double x=scanner.nextDouble();
m++;
sum=sum+x;
}
System.out.println("总数和是:"+sum);
scanner.close();
}
}
输入不是数字即可退出