linux运行java程序

这个帖子实现的是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 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();
            }
        }
    }
}

二、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文件中成功得到期望的结果。

linux运行java程序_第1张图片

成功!


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(java,linux,java,运维)