L .~ 2023-02-24 15:04 采纳率: 28.6%
浏览 52
已结题

获取服务器端文件夹下的最后一个TXT文本内容

想做一个手机APP 实现功能如下:
1、这个APP可以访问公司自制的一个服务器 类似于192.168.1.12 port 3500
2、访问该服务器之后提取服务器内某个文件夹内的最后一个TXT文本的最后一行内容 并显示出来
3、该TXT文件内容会自动更新 所以APP显示的内容也是更新的 并不是叠加的形式 是每次只显示一条

这个功能能实现吗
再网上找了好多 客户端服务器端通信的代码 好像大部分只能在本地实现
我想做的是在任何一个地方只要打开这个APP就能看到公司服务器内TXT文本的最后一条内容

  • 写回答

10条回答 默认 最新

  • GPT_Pro 2023-02-24 15:11
    关注

    该回答内容部分引用GPT,GPT_Pro更好的解决问题
    是的,这个功能可以实现。首先,你可以使用Socket编程来实现客户端和服务器的通信。例如,在客户端,你可以使用Socket来连接服务器,并读取服务器上的文件。在服务器端,你可以使用一些API来检索TXT文本的内容,并将其传输到客户端。

    下面是一段代码示例:

    //客户端示例代码
    import java.io.BufferedReader;  
    import java.io.InputStreamReader;  
    import java.net.Socket;  
      
    public class Client {  
        public static void main(String[] args) throws Exception {  
            Socket socket = new Socket("192.168.1.12",3500);  
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));  
            String str = br.readLine();  
            System.out.println("服务器上TXT文本中的最后一行内容为:" + str);  
            br.close();  
            socket.close();  
        }  
    } 
    
    
    //服务器端示例代码 
    import java.io.BufferedReader; 
    import java.io.FileReader; 
    import java.io.PrintWriter; 
    import java.net.ServerSocket; 
    import java.net.Socket; 
     
    public class Server { 
        public static void main(String[] args) throws Exception { 
            ServerSocket ss = new ServerSocket(3500); 
            Socket s = ss.accept();   //客户端连接的时候会触发accept方法 
            PrintWriter pw = new PrintWriter(s.getOutputStream(), true);  //true表示自动刷新缓存 
    
            //读取文件内容 
            BufferedReader br = new BufferedReader(new FileReader("fileName"));  //fileName是要读取的文件名 
    
            String line; 
            String lastLine = "";    //保存最后一行内容
    
            while((line=br.readLine())!=null){  //读取每一行数据 
                lastLine = line;//获取最后一行数据 
            } 
    
            pw.println(lastLine); //将最后一行数据发送到客户端 
    
            br.close(); 
            pw.close(); 
            s.close(); 
            ss.close(); 
    
        } 
    } 
    

    如果回答有帮助,望采纳。

    评论

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式