这个帖子实现的是linux上运行java代码
文章目录
- 前言
- 一、pandas是什么?
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
前言
事情发生的原因是博洋需要知道海外城市的数量,我一开始准备将全量数据拉取到本地,用代码遍历一遍。但是打包好全量数据,发现有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<String> dirList = new ArrayList<>();
getDirnameList(pathName, dirList);
writeListToText(dirList);
}
public static void writeListToText(List<String> 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<String> 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();
}
}
}
}
二、linux执行
1.查看linux是否安装java环境
安装Java开发工具包(JDK)
在Linux系统中,我们可以使用包管理器来安装JDK。以Ubuntu系统为例,可以使用apt-get命令来安装JDK。sudo apt-get install default-jdk
安装完成后,可以使用以下命令来验证JDK的安装情况:
javac -version
如果输出了JDK的版本信息,则说明安装成功。
我的服务器本身安装了jdk,不需要额外安装
2.编译代码
将代码拷贝到服务器,执行一下操作
编译: javac SearchDir.java
运行 java SearchDir
运行结果
在txt文件中成功得到期望的结果。
成功!
三、本地运行
成功!
工程代码
https://gitee.com/runruntiger/csdnprojecthttps://gitee.com/runruntiger/csdnproject
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。