无法通过Tomcat保存/编辑文件

时间:2019-05-30 17:05:33

标签: java tomcat jax-rs

我在Tomcat服务器上有以下代码。调用saveUserList方法时似乎什么也没做。它是通过另一个方法调用的,该方法由具有firefox rested扩展名的get request调用。没有错误消息或异常,但未创建或更新文件。

抱歉,如果我的术语不清楚/不正确,我只是在学习其中的大部分内容。

我创建了一个在本地调用saveUserList的测试类,不涉及Tomcat。很好。路径似乎没有问题,因为可以从文件中正常读取getAllUsers方法。仅在通过Tomcat服务器调用文件时才写文件。

package com.tutorialspoint;  

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException;  
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
import java.util.ArrayList; 
import java.util.List;  

public class UserDao { 
   public List<User> getAllUsers(){ 

      List<User> userList = null; 
      try { 
         File file = new File("/home/quincy/Users.dat"); 
         if (!file.exists()) { 
            User user = new User(1,"username", "first", "last","password"); 
            userList = new ArrayList<User>(); 
            userList.add(user); 
            saveUserList(userList); 
         } 
         else{ 
            FileInputStream fis = new FileInputStream(file); 
            ObjectInputStream ois = new ObjectInputStream(fis); 
            userList = (List<User>) ois.readObject(); 
            ois.close(); 
         } 
      } catch (IOException e) { 
         e.printStackTrace(); 
      } catch (ClassNotFoundException e) { 
         e.printStackTrace(); 
      }   
      return userList; 
   } 
   protected void saveUserList(List<User> userList){ 
      try { 
         File file = new File("/home/quincy/Users.dat"); 
         FileOutputStream fos;  
         fos = new FileOutputStream(file); 
         ObjectOutputStream oos = new ObjectOutputStream(fos); 
         oos.writeObject(userList); 
         oos.close(); 
      } catch (FileNotFoundException e) { 
         e.printStackTrace(); 
      } catch (IOException e) { 
         e.printStackTrace(); 
      } 
   }    
}

调用saveUserList方法时,它应该在我的主目录中更新或创建User.dat。直接调用时会这样做,但通过Tomcat调用时不会。

0 个答案:

没有答案