• linux运行java程序


    这个帖子实现的是linux上运行java代码


    前言

    事情发生的原因是博洋需要知道海外城市的数量,我一开始准备将全量数据拉取到本地,用代码遍历一遍。但是打包好全量数据,发现有60个G,这条路显然走不通。便想到能不能再linux上运行代码,实现获取城市数量。然后就百度资料,最后成功实现。YES!


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、编写代码

    java代码如下。

    1. import java.io.BufferedWriter;
    2. import java.io.File;
    3. import java.io.FileWriter;
    4. import java.io.IOException;
    5. import java.util.ArrayList;
    6. import java.util.List;
    7. public class SearchDir{
    8. public static void main(String[] args) {
    9. getDirName();
    10. }
    11. public static void getDirName()
    12. {
    13. String pathName = "/mapdata/unzipOutput03082/unzip_3dLandmark_data";
    14. //pathName = "C:\\Users\\Desktop\\test000"; //windows路径
    15. List dirList = new ArrayList<>();
    16. getDirnameList(pathName, dirList);
    17. writeListToText(dirList);
    18. }
    19. public static void writeListToText(List dirList)
    20. {
    21. //String path = "C:\\Users\\Desktop\\proWrite\\txtFile.txt"; //windows路径
    22. String path = "/mapdata/unzipOutput03082/dir.txt";
    23. File pathFile = new File(path);
    24. if(!pathFile.exists())
    25. {
    26. createFile(pathFile);
    27. }
    28. BufferedWriter bw = null;
    29. FileWriter fr = null;
    30. try {
    31. //将写入转化为流的形式
    32. fr = new FileWriter(path);
    33. bw = new BufferedWriter(fr);
    34. //一次写一行
    35. for (String s : dirList) {
    36. bw.write(s);
    37. bw.newLine(); //换行用
    38. }
    39. String num = "total:" + String.valueOf(dirList.size());
    40. bw.write(num);
    41. bw.newLine(); //换行用
    42. } catch (Exception e) {
    43. e.printStackTrace();
    44. } finally {
    45. try {
    46. if (bw != null) {
    47. bw.close();
    48. }
    49. if (fr != null) {
    50. fr.close();
    51. }
    52. } catch (Exception e) {
    53. e.printStackTrace();
    54. }
    55. }
    56. }
    57. public static void getDirnameList(String path, List list)
    58. {
    59. File file = new File(path);
    60. if(file.isDirectory())
    61. {
    62. String dir = file.toString().substring(file.toString().lastIndexOf(File.separator) + 1);
    63. if(dir.contains("_") || dir.equals("2022") || dir.equals("collada") || dir.contains("3dlm") || dir.length() <= 3) {
    64. ;
    65. }
    66. else
    67. {
    68. list.add(dir);
    69. }
    70. File[] fileList = file.listFiles();
    71. for(File f : fileList)
    72. {
    73. getDirnameList(f.toString(), list);
    74. }
    75. }
    76. }
    77. public static void createFile(File file) {
    78. if (file.exists()) {
    79. System.out.println("File exists");
    80. } else {
    81. System.out.println("File not exists, create it ...");
    82. //getParentFile() 获取上级目录(包含文件名时无法直接创建目录的)
    83. if (!file.getParentFile().exists()) {
    84. System.out.println("not exists");
    85. //创建上级目录
    86. file.getParentFile().mkdirs();
    87. }
    88. try {
    89. //在上级目录里创建文件
    90. file.createNewFile();
    91. } catch (IOException e) {
    92. e.printStackTrace();
    93. }
    94. }
    95. }
    96. }

    二、linux执行

    1.查看linux是否安装java环境

    安装Java开发工具包(JDK)
    在Linux系统中,我们可以使用包管理器来安装JDK。以Ubuntu系统为例,可以使用apt-get命令来安装JDK。

    sudo apt-get install default-jdk

    安装完成后,可以使用以下命令来验证JDK的安装情况:

    javac -version
    如果输出了JDK的版本信息,则说明安装成功。

     我的服务器本身安装了jdk,不需要额外安装

    2.编译代码

    将代码拷贝到服务器,执行一下操作

    1. 编译: javac SearchDir.java
    2. 运行 java SearchDir

    运行结果

     

    在txt文件中成功得到期望的结果。

    成功!

    三、本地运行

    成功! 

    工程代码

    https://gitee.com/runruntiger/csdnprojecticon-default.png?t=N7T8https://gitee.com/runruntiger/csdnproject


    总结

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

  • 相关阅读:
    神舟电脑怎么清理缓存文件?介绍几种简单有效方法
    这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
    hive_学习--基本操作
    数据分析 - 分散性与变异的量度
    基于SSM的生鲜电商系统
    [毕业设计源码]基于微信小程序的校园二手交易系统
    sql:SQL优化知识点记录(十五)
    VB.net读写S50/F08IC卡,修改卡片密码控制位源码
    HTTP/HTTPS协议
    Python OpenCV 通过trackbar调整图像亮度对比度颜色
  • 原文地址:https://blog.csdn.net/2301_77560238/article/details/134449469