JAVA坎坷之路(8 day)

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-6-27

/**
*
* I/O输入输出流
* File类中的java.io包是唯一代表磁盘文件本身的对象
* 它定义了一些与平台无关的方法用于操作各种文件
* 通过调用File类提供的各种方法 能够创建 删除 或重命名文件
* 判断硬盘上某个文件是否存在
* 查询文件最后修改时间
*/
// 通过指定的字符串类型的文件路径来创建一个新的File对象
File file = new File("D:\\MyProject\\luhuxai_java\\src\\main\\java\\a.txt");
// 根据指定的字符串类型的父路径和字符串类型的子路径(包括文件名称)创建一个新的File对象
File file1 = new File("D:\\MyProject\\luhuxai_java\\src\\main\\java","b.txt");
// 根据指定的File类的父路径和字符串类型的子路径(包括文件名称)创建一个新的File对象
File file2 = new File("D:\\MyProject\\luhuxai_java\\src\\main\\java");
File file3 = new File(file2,"c.txt");

/**
* File类的常用方法
*/
// 判断Flie对象对应的文件或目录是否存在 若存在则返回true 否则返回false
boolean exists = file.exists();
System.out.println(exists);
// 删除File对象对应的文件或目录 若删除成功则返回true 否则返回false
boolean delete = file.delete();
System.out.println(delete);
// 当File对象对应的文件不存在时 该方法将新建一个此File对象所指定的新文件 若创建成功 则返回true 否则返回false
boolean newFile = file.createNewFile();
System.out.println(newFile);

// 返回File对象表示的文件或文件夹名称
String name = file.getName();
System.out.println(name);
// 返回File对象对应的路径
String path = file.getPath();
System.out.println(path);
// 返回File对象对应的绝对路径(在unixPnux 如果路径是以正斜线 / 开始)
// 则这个路径是绝对路径 在windows中 如果路径是从盘符开始
// 则这个路径是绝对路径
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
// 返回File对象对应目录的父目录(即返回的目录不包含最后一级子目录)
File r = file.getParentFile();
System.out.println(r);
// 判断File对象对应的文件或目录是否可读 若可读返回true 否则返回false
boolean b = file.canRead();
System.out.println(b);
// 判断File对象对应的文件或目录是否可写 若可写返回true 否则返回false
boolean b1 = file.canWrite();
System.out.println(b1);
// 判断File对象对应的是否是文件(不是目录) 若是文件返回true 否则返回false
boolean file4 = file.isFile();
System.out.println(file4);
// 判断File对象对应的是否是目录(不是文件) 若是目录返回true 否则返回false
boolean directory = file.isDirectory();
System.out.println(directory);
// 判断File对象对应的文件或目录是否是绝对路径 若是绝对路径返回true 否则返回false
boolean absolute = file.isAbsolute();
System.out.println(absolute);
// 返回1970年1月1号0时0分0秒到文件最后修改时间的毫秒
long l = file.lastModified();
System.out.println(l);
// 返回文件的长度
long length = file.length();
System.out.println(length);
// 列出指定目录的全部内容 只是列出名称
String[] list = file.list();
System.out.println(list);
// 返回一个包含了File对象所有子文件和子目录的File数组
File[] listFiles = file.listFiles();
System.out.println(listFiles);
file.delete();
/**
*
* 临时文件
* 当我们需要创建文件时 但程序运行完毕有需要删除时
* File对象提供了一个创建临时文件方法
*/
File tempFile = File.createTempFile("D:\MyProject\luhuxai_java\src\main\java", "bb.txt");
// 在jvm退出时删除该文件
tempFile.deleteOnExit();
}
}
小案例 分三部分发
第一部分
public interface FileManager {
// 查询文件
void getFile();
// 添加文件
void addFile();
// 删除文件
void deleteFile();
// 复制文件
void copyFile();
}
第二部分
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.UUID;

public class FileManagerImpl implements FileManager {
Scanner sc = new Scanner(System.in);
File file = new File("D:\MyProject\luhuxai_java\src\main\java");
@Override
public void getFile() {
// 提示输入
System.out.println("请输入文件名字查询或者输入1全部查询:");
// 输入内容
String next = sc.next();
// 判断输入值是否是1
if (next.equals("1")) {
// 判断File对象是否是目录
if (file.isDirectory()) {
// 获取目录的全部内容
String[] list = file.list();
// 将得到的数组遍历
for (String s : list) {
System.out.println(s);
}
}
} else {
// 判断File对象是否是目录
if (file.isDirectory()) {
// 获取目录的全部内容
String[] list = file.list();
// 将得到的数组遍历
for (String s : list) {
if(s.contains(next))
{
System.out.println(s);
}
}
}
}
}
@Override
public void addFile() {
// 提示输入
System.out.println("请输入文件名来创建:");
String r = sc.next();
// 获取File对象绝对路径
String absolutePath = file.getAbsolutePath();
// 路径拼接
String fileName = absolutePath+"\"+r;
// 新建File对象
File file1 = new File(fileName);
// 判断创建的文件是否存在
if(!file1.exists())
{
try {
// 创建文件
boolean newFile = file1.createNewFile();
// 友好提示
System.out.println("创建成功");
} catch (IOException e) {
throw new RuntimeException(e);
}
}
else
{
System.out.println("文件已存在");
}
}
@Override
public void deleteFile() {
System.out.println("请输入要删除的文件名:");
4楼
呵呵二爷爷 2022-6-27
第三部分
import java.util.Scanner;

public class Main {
Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
Main main = new Main();
FileManagerImpl fileManager = new FileManagerImpl();
while (true) {
String home = main.home();
if (home.equalsIgnoreCase("1")) {
fileManager.getFile();
} else if (home.equalsIgnoreCase("2")) {
fileManager.addFile();
} else if (home.equalsIgnoreCase("3")) {
fileManager.deleteFile();
} else if (home.equalsIgnoreCase("4")) {
fileManager.copyFile();
} else if (home.equalsIgnoreCase("5")) {
System.exit(0);
}else{
System.out.println("输入编号无用....");
}
}
}

public String home() {
System.out.println("输入1查询文件:");
System.out.println("输入2添加文件:");
System.out.println("输入3删除文件:");
System.out.println("输入4复制文件:");
System.out.println("输入5退出程序:");
return scanner.next();
}
}
5楼
呵呵二爷爷 2022-6-27
晚点在更新[滑稽][滑稽][滑稽][滑稽]
帖子需要附带相关主题的截图
长时间未补图锁帖
7楼
呵呵二爷爷 2022-6-27
睡醒了,起来更新[滑稽][滑稽][滑稽]
哟,在这写demo呢
9楼
呵呵二爷爷 2022-6-27
/**
*
* 字节流
* 程序开发中 需要处理设备之间的数据传输
* 而计算机无论是文本 图片 音频 还是视频 所有文件都是以二进制(字节)形式存在的
* 为字节的输入输出(I/O)流提供一系列的流
* 统称为字节流
* jdk中 提供了两个抽象类
* InputStream和OutputStream 它们是字节流的顶级父类
* 所有的输入流都继承InputSteam
* 所有的输出流都继承OutputSteam
*/
[滑稽][滑稽][滑稽]你以为
坚持百天我要成神

评论

登录后才可发表内容
  • 主题

    23

  • 帖子

    325

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0470s Mem:2151Kb