最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
想通过Java来获取某文件夹(或多个文件夹)下的视频的总时长
经过查询资料,发现可以通过JAVE实现:The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project。
Solution:
以单个目录下的视频为例,通过JAVE实现,并采用不同的日期时间处理方式转换为时-分-秒格式,顺便熟悉了一下Java 中的日期处理。
- Note:当然,需要导入下载的JAVE的jar文件。。
eg:
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.MultimediaInfo;
public class VideoDuration {
public void getVideoDuration(String path) {
// get all files in specified “path”
File[] files = new File(path).listFiles();
Encoder encoder = new Encoder();
MultimediaInfo multimediaInfo;
long totalTime = 0L;
long duration = 0L;
for (int i = 0; i < files.length; i++) {
// here, the format of video can be changed, JAVE upports dozens of formats
if (!files[i].isDirectory() && files[i].toString().endsWith(“.avi”)) {
try {
multimediaInfo = encoder.getInfo(files[i]);
duration = multimediaInfo.getDuration();
totalTime += duration;
} catch (EncoderException e) {
e.printStackTrace();
}
}
}
// long --> hh:mm: calculate the time manually
System.out.print(totalTime/(36001000) + “:” + totalTime%(36001000)/(601000) + “:” + totalTime%(36001000)%(60*1000)/1000);
System.out.println(“==>Manually”);
如何快速更新自己的技术积累?
- 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
- 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
- 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
- 学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**