Java语言 有关xml文件写的过程中,出现异常导致文件为空的情况

Java语言 有关xml文件写的过程中,出现异常导致文件为空的情况,第1张

其实你应该在程序中构建一个模型和文件内容相对应,就好修改了。

如读取文件,构建模型,修改模型,写入文件。

import java.beans.XMLDecoder

import java.beans.XMLEncoder

import java.io.*

import java.util.ArrayList

import java.util.List

public class Main {

   public static void main(String[] args) {

   皮凯   User user = new User("admin", "111111", new Adress("New York"))

      addUser(user)

      catXmlFile()

      updatePassword("admin", "123456")

      catXmlFile()

   }

   public static boolean addUser(User user) {

 闹孝     List<User> users = loadXmlForUsers()

      for (User user1 : users) {

         if (user1.getUsername().equals(user)) {

            return false

         }

      }

      users.add(user)

      writeXmlForUser(users)

      return true

   }

   public static void updatePassword(String username, String password) {

      List<User> users = loadXmlForUsers()

      for (User user : users) {

         if (user.getUsername().equals(username)) {

            user.setPassword(password)

         }

      }

      writeXmlForUser(users)

   }

   public static void catXmlFile() {

      try {

         System.out.println("==============")

         BufferedReader br = new BufferedReader(new FileReader("users.xml"))

         while (br.ready()) {

            System.out.println(br.readLine())

         }

         br.close()

      } catch (IOException e) {

         e.printStackTrace()

      }

   }

   public static void writeXmlForUser(List<User> users) {

      try {

         XMLEncoder encoder = new XMLEncoder(new FileOutputStream("users.xml"))

         encoder.writeObject(users)

         encoder.flush()

         encoder.close()

      } catch (FileNotFoundException e) {

         e.printStackTrace()

      }

   }

   public static List<User> loadXmlForUsers() {

      List<User> users

      try {

         XMLDecoder decoder = new XMLDecoder(new FileInputStream("users.xml"))

         users = (List<User>) decoder.readObject()

         decoder.close()

      } catch (Exception e) {

         users = new ArrayList<>()

 液握稿     }

      return users

   }

   public static class User {

      private String username

      private String password

      private Adress adress

      public User() {

      }

      public User(String username, String password, Adress adress) {

         this.username = username

         this.password = password

         this.adress = adress

      }

      public String getUsername() {

         return username

      }

      public void setUsername(String username) {

         this.username = username

      }

      public String getPassword() {

         return password

      }

      public void setPassword(String password) {

         this.password = password

      }

      public Adress getAdress() {

         return adress

      }

      public void setAdress(Adress adress) {

         this.adress = adress

      }

   }

   public static class Adress {

      private String name

      public Adress() {

      }

      public Adress(String name) {

         this.name = name

      }

      public String getName() {

         return name

      }

      public void setName(String name) {

         this.name = name

      }

   }

}

C:\Documents and Settings\用前陆凯户\Local Settings\Application Data\Microsoft\Office

看看慧唤有没有关于Excel的设定

清一下,看有没有工具

第2种,选悉乎择 作为只读Excel工作薄 方式打开

在hadoop上传core-site.xml文件后文件不出内容原因如下

问戚羡题的根本就是你的防火墙没有关闭,说道这里有人会质疑,防火墙我早关了呀,没错防火墙你是关了,不然就不会访问到hadoop,但恰敏尺恰是这个原因,你忽略了大的问题,你只关了nameNode的防火墙,dataNode的防火高拿拍墙你或许忘关了。这就导致了你能正常访问hadoop,但却无法上传文件内容。而等待的那40多秒时间 ,是因为它在不停的访问dataNode的ip但由于防火墙权限,一直不能访问成功。最后以失败告终,但空文件却生成在了nameNode上,所以就有了你现在所处的尴尬局面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12149404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存