这个帖子实现的是linux上运行java代码
事情发生的原因是博洋需要知道海外城市的数量,我一开始准备将全量数据拉取到本地,用代码遍历一遍。但是打包好全量数据,发现有60个G,这条路显然走不通。便想到能不能再linux上运行代码,实现获取城市数量。然后就百度资料,最后成功实现。YES!
提示:以下是本篇文章正文内容,下面案例可供参考
java代码如下。
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
-
- public class SearchDir{
-
- public static void main(String[] args) {
- getDirName();
- }
-
- public static void getDirName()
- {
- String pathName = "/mapdata/unzipOutput03082/unzip_3dLandmark_data";
- //pathName = "C:\\Users\\Desktop\\test000"; //windows路径
- List
dirList = new ArrayList<>(); - getDirnameList(pathName, dirList);
- writeListToText(dirList);
- }
-
- public static void writeListToText(List
dirList) - {
- //String path = "C:\\Users\\Desktop\\proWrite\\txtFile.txt"; //windows路径
- String path = "/mapdata/unzipOutput03082/dir.txt";
- File pathFile = new File(path);
- if(!pathFile.exists())
- {
- createFile(pathFile);
- }
- BufferedWriter bw = null;
- FileWriter fr = null;
- try {
- //将写入转化为流的形式
- fr = new FileWriter(path);
- bw = new BufferedWriter(fr);
- //一次写一行
- for (String s : dirList) {
- bw.write(s);
- bw.newLine(); //换行用
- }
- String num = "total:" + String.valueOf(dirList.size());
- bw.write(num);
- bw.newLine(); //换行用
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (bw != null) {
- bw.close();
- }
- if (fr != null) {
- fr.close();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- public static void getDirnameList(String path, List
list) - {
- File file = new File(path);
- if(file.isDirectory())
- {
- String dir = file.toString().substring(file.toString().lastIndexOf(File.separator) + 1);
- if(dir.contains("_") || dir.equals("2022") || dir.equals("collada") || dir.contains("3dlm") || dir.length() <= 3) {
- ;
- }
- else
- {
- list.add(dir);
- }
-
- File[] fileList = file.listFiles();
- for(File f : fileList)
- {
- getDirnameList(f.toString(), list);
- }
- }
- }
-
- public static void createFile(File file) {
- if (file.exists()) {
- System.out.println("File exists");
- } else {
- System.out.println("File not exists, create it ...");
- //getParentFile() 获取上级目录(包含文件名时无法直接创建目录的)
- if (!file.getParentFile().exists()) {
- System.out.println("not exists");
- //创建上级目录
- file.getParentFile().mkdirs();
- }
- try {
- //在上级目录里创建文件
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
安装Java开发工具包(JDK)
在Linux系统中,我们可以使用包管理器来安装JDK。以Ubuntu系统为例,可以使用apt-get命令来安装JDK。sudo apt-get install default-jdk
安装完成后,可以使用以下命令来验证JDK的安装情况:
javac -version
如果输出了JDK的版本信息,则说明安装成功。
我的服务器本身安装了jdk,不需要额外安装
将代码拷贝到服务器,执行一下操作
- 编译: javac SearchDir.java
- 运行 java SearchDir
运行结果
在txt文件中成功得到期望的结果。
成功!
成功!
工程代码
https://gitee.com/runruntiger/csdnprojecthttps://gitee.com/runruntiger/csdnproject
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。