9.请写出代码:用File类在d:盘建多级文件夹,形式如d:\ test1\test2\test3。 10.中文常用的字符集编码有哪些? 11.请写出代码:输入一串含中文的字符,用GBK编码,然后再转成用UTF-8编码的字符。 12.请写出代码:用File类建立d:\ test4\data4.txt文件,并在文件里写入自己的班级,姓名,然后再从里读出并在控制台上输出。 13.请写出代码:用File类建立d:\ test5\data5.txt文件,并在文件里写入自己的班级,姓名,和5门功课的成绩,然后再从文件里读出5门功能成绩,并计算出成绩的总和在控制台上输出。提示:数据写入文件时定义好数据的分割方式,可以使用字符串的分割函数操作读出的数据,关于分割函数的用法,请自行查阅相关资料。
时间: 2024-02-15 08:03:57 浏览: 80
test_hdfs:高清阅读
9.建立多级文件夹的代码:
```java
import java.io.File;
public class CreateMultiLevelFolders {
public static void main(String[] args) {
// 目标文件夹
String path = "D:\\test1\\test2\\test3";
File folder = new File(path);
// 递归创建文件夹
if (!folder.exists()) {
folder.mkdirs();
System.out.println("文件夹已创建!");
} else {
System.out.println("文件夹已存在!");
}
}
}
```
10.常用的中文字符集编码有:UTF-8、GBK、GB2312、BIG5、GB18030等。
11.将中文字符从GBK编码转换为UTF-8编码的代码:
```java
import java.io.UnsupportedEncodingException;
public class EncodingConversion {
public static void main(String[] args) {
String str = "中文字符";
try {
byte[] bytes = str.getBytes("GBK"); // 将字符串转换为GBK编码的字节数组
String utf8Str = new String(bytes, "UTF-8"); // 将GBK编码的字节数组转换为UTF-8编码的字符串
System.out.println(utf8Str);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
```
12.在文件中写入班级和姓名,并从文件中读取并输出的代码:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReadWrite {
public static void main(String[] args) {
String filePath = "D:\\test4\\data4.txt";
String content = "班级:xxx\n姓名:xxx";
File file = new File(filePath);
FileWriter writer = null;
// 写入文件
try {
if (!file.exists()) {
file.createNewFile();
}
writer = new FileWriter(file);
writer.write(content);
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 读取文件
FileReader reader = null;
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
try {
reader = new FileReader(file);
br = new BufferedReader(reader);
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println(sb.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
13.在文件中写入班级、姓名和5门课程成绩,并计算总和并输出的代码:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReadWriteAndCalculation {
public static void main(String[] args) {
String filePath = "D:\\test5\\data5.txt";
String content = "班级:xxx\n姓名:xxx\n语文:80\n数学:90\n英语:85\n物理:88\n化学:92";
File file = new File(filePath);
FileWriter writer = null;
// 写入文件
try {
if (!file.exists()) {
file.createNewFile();
}
writer = new FileWriter(file);
writer.write(content);
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 读取文件并计算总和
FileReader reader = null;
BufferedReader br = null;
int sum = 0;
try {
reader = new FileReader(file);
br = new BufferedReader(reader);
String line = null;
while ((line = br.readLine()) != null) {
String[] strs = line.split(":"); // 以“:”分割字符串
if (strs.length == 2) {
try {
sum += Integer.parseInt(strs[1]); // 累加每门课程成绩
} catch (NumberFormatException e) {
// 忽略非数字格式的字符串
}
}
}
System.out.println("总成绩为:" + sum);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
阅读全文