Java校招面试问题大全,java基础io流,Java开发了解这些自然无惧面试

}

}

题二:复制多极文件夹

/*

  • 需求:复制多极文件夹

  • 数据源:F:\汤包\IT时代\java基础\day21\code\demos

  • 目的地:E:\

  • 分析:

  •   A:封装数据源File
    
  •   B:封装目的地File
    
  •   C:判断该File是文件夹还是文件
    
  •   	a:是文件夹
    
  •   		就在目的地目录下创建该文件夹
    
  •   		获取该File对象下的所有文件或者文件夹File对象
    
  •   		遍历得到每一个File对象
    
  •   		回到C
    
  •   	b:是文件
    
  •   		就复制(字节流)
    

*/

public class copyFolder2 {

public static void main(String args[]) throws IOException {

File file1 = new File(“F:\汤包\IT时代\java基础\day21\code\demos”);

File file2 = new File(“e:\”);

copyFolder(file1,file2);

}

private static void copyFolder(File srcFile, File destFile) throws IOException {

if (srcFile.isDirectory()){

File newFolder = new File(destFile, srcFile.getName());

newFolder.mkdir();

File[] files = srcFile.listFiles();

for (File file1 : files) {

copyFolder(file1,newFolder);

}

}else {

File newFile = new File(destFile,srcFile.getName());

copyFile(srcFile,newFile);

}

}

private static void copyFile(File file1,File file2) throws IOException {

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file1));

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file2));

byte[] bytes = new byte[1024];

int len = 0;

while ((len = bis.read(bytes)) != -1) {

bos.write(bytes,0,len);

}

bis.close();

bos.close();

}

}

复制多级文件夹,构思用到了递归,可知递归真的很重要,之后也会总结一下递归的知识。

题三:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低打印到控制台。

Student.java

public class Student {

// 姓名

private String name;

// 语文成绩

private int chinese;

// 数学成绩

private int math;

// 英语成绩

private int english;

public Student() {

super();

}

public Student(String name, int chinese, int math, int english) {

super();

this.name = name;

this.chinese = chinese;

this.math = math;

this.english = english;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getChinese() {

return chinese;

}

public void setChinese(int chinese) {

this.chinese = chinese;

}

public int getMath() {

return math;

}

public void setMath(int math) {

this.math = math;

}

public int getEnglish() {

return english;

}

public void setEnglish(int english) {

this.english = english;

}

public int getSum() {

return this.chinese + this.math + this.english;

}

}

StendentDemo.java

/*

  • 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

  • 分析:

  •   A:创建学生类
    
  •   B:创建集合对象
    
  •   	TreeSet<Student>
    
  •   C:键盘录入学生信息存储到集合
    
  •   D:遍历集合,把数据写到文本文件
    

*/

public class StendentDemo {

public static void main(String args[]) throws IOException {

TreeSet students = new TreeSet<>(new Comparator() {

@Override

public int compare(Student s1, Student s2) {

//s1-s2升序,s2-s1降序

int num = s2.getSum() - s1.getSum();

int num1 = num == 0 ?s2.getChinese()-s1.getChinese():num;

int num2 = num1 ==0 ?s2.getMath()-s1.getMath():num1;

int num3 = num2 ==0 ?s2.getEnglish()-s1.getEnglish():num2;

int num4 = num3 == 0?s1.getName().compareTo(s2.getName()):num3;//按字母顺序

return num4;

}

});

for (int i = 0; i <5 ; i++) {

Scanner sc = new Scanner(System.in);

System.out.println(“录入学生成绩:”);

System.out.println(“姓名:”);

String name = sc.nextLine();

System.out.println(“语文成绩:”);

int chinese = sc.nextInt();

System.out.println(“数学成绩:”);

int math = sc.nextInt();

System.out.println(“英语成绩:”);

int english = sc.nextInt();

Student student = new Student(name,chinese,math,english);

students.add(student);

}

BufferedWriter bw = new BufferedWriter(new FileWriter(“grade.txt”));

bw.write(“学生信息如下:”);

bw.newLine();

bw.flush();

bw.write(“姓名,语文成绩,数学成绩,英语成绩”);

bw.newLine();

bw.flush();

for (Student student : students) {

StringBuilder sb = new StringBuilder();

sb.append(student.getName()).append(student.getChinese()).append(student.getMath()).append(student.getEnglish());

bw.write(sb.toString());

bw.newLine();

bw.flush();

}

bw.close();

}

}

题四:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”,请编写程序读取数据内容,把数据排序后写入ss.txt中。

/*

  • 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”

  • 请编写程序读取数据内容,把数据排序后写入ss.txt中。

  • 分析:

  •   A:把s.txt这个文件给做出来
    
  •   B:读取该文件的内容,存储到一个字符串中
    
  •   C:把字符串转换为字符数组
    
  •   D:对字符数组进行排序
    
  •   E:把排序后的字符数组转换为字符串
    
  •   F:把字符串再次写入ss.txt中
    

*/

public class StringDemo {

public static void main(String[] args) throws IOException {

// 读取该文件的内容,存储到一个字符串中

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

图片转存中…(img-9sIAFFcD-1712251767086)]

最后

[外链图片转存中…(img-KjyjiJOV-1712251767086)]

[外链图片转存中…(img-8EYRGPH1-1712251767086)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值