💥 该系列属于【Java基础编程500题】专栏,如您需查看Java基础的其他相关题目,请您点击左边的连接
目录
1. 编写一个Java程序,在当前用户桌面创建一个名为"example.txt"的文件,并向文件中写入一行文字"Hello, World!"。
2. 编写一个Java程序,将用户桌面上的"example.txt"文件复制到当前目录下的"copy_example.txt"。
3. 编写一个Java程序,获取用户桌面上的"example.txt"文件的名称、大小、最后修改时间。
4. 编写一个Java程序,在用户桌面创建一个名为"test_folder"的文件夹,然后删除该文件夹。
5. 编写一个Java程序,列出当前目录上的所有文件和文件夹的名称。
6. 编写一个Java程序,将用户桌面上的"example.txt"文件重命名为"new_example.txt"。
7. 编写一个Java程序,列出用户桌面上的所有.txt文件。
8. 编写一个Java程序,删除用户桌面上的一个名为"test_folder"的文件夹及其所有内容。(递归删除)
9. 编写一个Java程序,读取用户桌面上的"new_example.txt"文件的内容,并将其内容输出到控制台。
12. 编写一个Java程序,读取一个文本文件的内容,并将其内容反转后写入到另一个文件。
13. 编写一个Java程序,统计一个文本文件中每个单词出现的次数。
✨✨ 返回题目目录 ✨ ✨
1. 编写一个Java程序,在当前用户桌面创建一个名为"example.txt"的文件,并向文件中写入一行文字"Hello, World!"。
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
try {
// 创建文件对象
File file = new File(System.getProperty("user.home") + "\\Desktop\\example.txt");
// 创建文件
boolean created = file.createNewFile();
if (created) {
// 写入内容
FileOutputStream fos = new FileOutputStream(file);
String content = "Hello, World!";
fos.write(content.getBytes());
fos.close();
System.out.println("文件创建并写入成功!");
} else {
System.out.println("文件已存在!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 编写一个Java程序,将用户桌面上的"example.txt"文件复制到当前目录下的"copy_example.txt"。
public class Main {
public static void main(String[] args) {
try {
// 源文件和目标文件
File sourceFile = new File(System.getProperty("user.home") + "\\Desktop\\example.txt");
File targetFile = new File("copy_example.txt");
// 文件复制
FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(targetFile);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 编写一个Java程序,获取用户桌面上的"example.txt"文件的名称、大小、最后修改时间。
import java.io.File;
import java.text.SimpleDateFormat;
public class Main {
public static void main(String[] args) {
File file = new File(System.getProperty("user.home") + "\\Desktop\\example.txt");
if (file.exists()) {
System.out.println("文件名称:" + file.getName());
System.out.println("文件大小:" + file.length() + " 字节");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("最后修改时间:" + sdf.format(file.lastModified()));
} else {
System.out.println("文件不存在!");
}
}
}
4. 编写一个Java程序,在用户桌面创建一个名为"test_folder"的文件夹,然后删除该文件夹。
import java.io.File;
public class Main {
public static void main(String[] args) {
File folder = new File(System.getProperty("user.home") + "\\Desktop\\test_folder");
if (folder.mkdir()) {
System.out.println("文件夹创建成功!");
if (folder.delete()) {
System.out.println("文件夹删除成功!");
} else {
System.out.println("文件夹删除失败!");
}
} else {
System.out.println("文件夹创建失败!");
}
}
}
5. 编写一个Java程序,列出当前目录上的所有文件和文件夹的名称。
import java.io.File;
public class Main {
public static void main(String[] args) {
File desktop = new File("./");
if (desktop.isDirectory()) {
String[] files = desktop.list();
System.out.println("当前目录上的所有文件和文件夹:");
for (String file : files) {
System.out.println(file);
}
} else {
System.out.println("路径不是目录!");
}
}
}
6. 编写一个Java程序,将用户桌面上的"example.txt"文件重命名为"new_example.txt"。
import java.io.File;
public class Main {
public static void main(String[] args) {
File oldFile = new File(System.getProperty("user.home") + "\\Desktop\\example.txt");
File newFile = new File(System.getProperty("user.home") + "\\Desktop\\new_example.txt");
if (oldFile.renameTo(newFile)) {
System.out.println("文件重命名成功!");
} else {
System.out.println("文件重命名失败!");
}
}
}
7. 编写一个Java程序,列出用户桌面上的所有.txt文件。
import java.io.File;
import java.io.FilenameFilter;
public class Main {
public static void main(String[] args) {
File desktop = new File(System.getProperty("user.home") + "\\Desktop");
FilenameFilter filter = (dir, name) -> name.endsWith(".txt");
File[] txtFiles = desktop.listFiles(filter);
System.out.println("用户桌面上的所有.txt文件:");
for (File file : txtFiles) {
System.out.println(file.getName());
}
}
}
8. 编写一个Java程序,删除用户桌面上的一个名为"test_folder"的文件夹及其所有内容。(递归删除)
import java.io.File;
public class Main {
public static void main(String[] args) {
File folder = new File(System.getProperty("user.home") + "\\Desktop\\test_folder");
if (deleteDirectory(folder)) {
System.out.println("文件夹及其内容已删除!");
} else {
System.out.println("删除失败!");
}
}
public static boolean deleteDirectory(File dir) {
if (dir.isDirectory()) {
File[] children = dir.listFiles();
for (File child : children) {
deleteDirectory(child);
}
}
return dir.delete();
}
}
9. 编写一个Java程序,读取用户桌面上的"new_example.txt"文件的内容,并将其内容输出到控制台。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String filePath = System.getProperty("user.home") + "\\Desktop\\new_example.txt";
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
System.out.println("文件内容:");
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
10. 编写一个Java程序,读取用户桌面上的"numbers.txt"文件,该文件包含一系列数字,一行一个。程序需要将这些数字排序后,将排序结果保存到新的文件"sorted_numbers.txt"中。
import java.io.*;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String inputFilePath = System.getProperty("user.home") + "\\Desktop\\numbers.txt";
String outputFilePath = System.getProperty("user.home") + "\\Desktop\\sorted_numbers.txt";
try {
// 读取文件内容
BufferedReader reader = new BufferedReader(new FileReader(inputFilePath));
String line;
StringBuilder content = new StringBuilder();
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
reader.close();
// 将内容分割成数组并排序
String[] numbers = content.toString().split("\n");
Arrays.sort(numbers, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return Integer.parseInt(o1)-Integer.parseInt(o2);
}
});
// 写入排序后的内容到新文件
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilePath));
for (String number : numbers) {
writer.write(number);
writer.newLine();
}
writer.close();
System.out.println("数字已排序并保存到文件 " + outputFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
11. 编写一个Java程序,读取用户桌面上的"example.txt"文件,将文件中的所有"oldString"替换为"newString",并将结果保存到"example_replaced.txt"文件中。
import java.io.*;
public class Main {
public static void main(String[] args) {
String inputFilePath = System.getProperty("user.home") + "\\Desktop\\example.txt";
String outputFilePath = System.getProperty("user.home") + "\\Desktop\\example_replaced.txt";
String oldString = "oldString";
String newString = "newString";
try {
BufferedReader reader = new BufferedReader(new FileReader(inputFilePath));
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilePath));
String line;
while ((line = reader.readLine()) != null) {
line = line.replace(oldString, newString);
writer.write(line);
writer.newLine();
}
reader.close();
writer.close();
System.out.println("文件内容替换完成,并保存到 " + outputFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
12. 编写一个Java程序,读取一个文本文件的内容,并将其内容反转后写入到另一个文件。
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 源文件路径
File srcFile = new File("src.txt");
// 目标文件路径
File destFile = new File("dest.txt");
try {
reverseContent(srcFile, destFile);
System.out.println("文件内容反转成功!");
} catch (IOException e) {
System.out.println("文件内容反转失败:" + e.getMessage());
}
}
private static void reverseContent(File src, File dest) throws IOException {
List<String> lines = new ArrayList<>();
BufferedReader br = new BufferedReader(new FileReader(src));
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
br.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(dest));
for (int i = lines.size() - 1; i >= 0; i--) {
bw.write(lines.get(i));
bw.newLine();
}
bw.close();
}
}
13. 编写一个Java程序,统计一个文本文件中每个单词出现的次数。
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 文件路径
File file = new File("src.txt");
try {
Map<String, Integer> wordCount = countWords(file);
System.out.println("单词统计结果:");
for (Map.Entry<String, Integer> entry : wordCount.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
} catch (IOException e) {
System.out.println("统计单词数量失败:" + e.getMessage());
}
}
private static Map<String, Integer> countWords(File file) throws IOException {
Map<String, Integer> wordCount = new HashMap<>();
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
String[] words = line.split("\\s+");
for (String word : words) {
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
}
br.close();
return wordCount;
}
}