当前位置: 首页 > article >正文

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<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/csdnprojecticon-default.png?t=N7T8https://gitee.com/runruntiger/csdnproject


总结

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


http://www.kler.cn/a/132959.html

相关文章:

  • mysql中mvcc如何处理纯读事务的?
  • 基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;
  • Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)
  • 阿里云ACK容器如何配置pod分散在集群的不同节点上
  • Redis下载历史版本
  • 前后端、网关、协议方面补充
  • 卷积神经网络(CNN)多种图片分类的实现
  • 21、Flink 的table API与DataStream API 集成(完整版)
  • 01_面向对象高级_static
  • MySQL/Oracle用逗号分割的id怎么实现in (逗号分割的id字符串)。find_in_set(`id`, ‘1,2,3‘) 函数,
  • springcloudalibaba-3
  • CAS源码工程搭建记录
  • 深度学习YOLO图像视频足球和人体检测 - python opencv 计算机竞赛
  • Django+vue前后端分离实战--vue后台管理系统--vue环境安装项目创建
  • Kotlin语言实现单击任意TextVIew切换一个新页面,并且实现颜色变换
  • 计算Qt中的QAudioOutput缓冲区未播放的音频字节数对应时长
  • centos 6.10 安装 perl 5.14
  • 设计测试用例的6种基本原则
  • MATLAB基础应用精讲-【数模应用】神经网络
  • Kafka、RocketMQ、RabbitMQ的比较总结Kafka、RocketMQ、RabbitMQ的比较总结
  • 一起Talk Android吧(第五百五十三回:解析Retrofit返回的数据)
  • 浅尝:iOS的CoreGraphics和Flutter的Canvas
  • HarmonyOS开发Java与ArkTS如何抉择
  • 【数据预处理2】数据预处理——数据标准化
  • C# using语句使用介绍
  • 【音视频基础】AVI文件格式