java软件如何优雅地写配置文件
.ini
.json
目前我使用的是txt方式,有些拙劣
import java.awt.BorderLayout;
import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Dialog.ModalityType;
import java.awt.Dialog.ModalExclusionType;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.awt.event.ActionEvent;public class HadoopSettingWin extends JDialog {private final JPanel contentPanel = new JPanel();private JTextField txtHdpIPPort;private JTextField txtHdpDst;public static String txtHdpIPPortValue = getIPPORTFormTxt();public static String txtHdpDstValue = getDIRPathFormTxt();/*** Launch the application.*/public static void main(String[] args) {try {HadoopSettingWin dialog = new HadoopSettingWin();dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true);} catch (Exception e) {e.printStackTrace();}}/*** Create the dialog.*/public HadoopSettingWin() {setTitle("Hadoop Setting(Upload)");setModalityType(ModalityType.TOOLKIT_MODAL);setResizable(false);setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);setBounds(100, 100, 450, 179);getContentPane().setLayout(new BorderLayout());contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));getContentPane().add(contentPanel, BorderLayout.CENTER);GridBagLayout gbl_contentPanel = new GridBagLayout();gbl_contentPanel.columnWidths = new int[]{140, 48, 66, 0};gbl_contentPanel.rowHeights = new int[]{21, 0, 0, 0};gbl_contentPanel.columnWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE};gbl_contentPanel.rowWeights = new double[]{0.0, 0.0, 0.0, Double.MIN_VALUE};contentPanel.setLayout(gbl_contentPanel);{JLabel lblHadoopIPPort = new JLabel("Hadoop IP_Port");GridBagConstraints gbc_lblHadoopIPPort = new GridBagConstraints();gbc_lblHadoopIPPort.insets = new Insets(0, 0, 5, 5);gbc_lblHadoopIPPort.gridx = 0;gbc_lblHadoopIPPort.gridy = 0;contentPanel.add(lblHadoopIPPort, gbc_lblHadoopIPPort);}{txtHdpIPPort = new JTextField();txtHdpIPPort.setText(getIPPORTFormTxt());txtHdpIPPortValue =txtHdpIPPort.getText(); GridBagConstraints gbc_txtHdpIPPort = new GridBagConstraints();gbc_txtHdpIPPort.insets = new Insets(0, 0, 5, 0);gbc_txtHdpIPPort.fill = GridBagConstraints.HORIZONTAL;gbc_txtHdpIPPort.gridx = 2;gbc_txtHdpIPPort.gridy = 0;contentPanel.add(txtHdpIPPort, gbc_txtHdpIPPort);txtHdpIPPort.setColumns(10);}{JLabel lblHadoopDst = new JLabel("Hadoop Dst");GridBagConstraints gbc_lblHadoopDst = new GridBagConstraints();gbc_lblHadoopDst.insets = new Insets(0, 0, 5, 5);gbc_lblHadoopDst.gridx = 0;gbc_lblHadoopDst.gridy = 1;contentPanel.add(lblHadoopDst, gbc_lblHadoopDst);}{txtHdpDst = new JTextField();txtHdpDst.setText(getDIRPathFormTxt());txtHdpDstValue = txtHdpDst.getText();GridBagConstraints gbc_txtHdpDst = new GridBagConstraints();gbc_txtHdpDst.insets = new Insets(0, 0, 5, 0);gbc_txtHdpDst.fill = GridBagConstraints.HORIZONTAL;gbc_txtHdpDst.gridx = 2;gbc_txtHdpDst.gridy = 1;contentPanel.add(txtHdpDst, gbc_txtHdpDst);txtHdpDst.setColumns(10);}{JPanel buttonPane = new JPanel();buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));getContentPane().add(buttonPane, BorderLayout.SOUTH);{JButton okButton = new JButton("OK");okButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {txtHdpIPPortValue = txtHdpIPPort.getText();txtHdpDstValue = txtHdpDst.getText();setIPPORTToTxt(txtHdpIPPortValue);setDIRPathToTxt(txtHdpDstValue);dispose();}});okButton.setActionCommand("OK");buttonPane.add(okButton);getRootPane().setDefaultButton(okButton);}{JButton cancelButton = new JButton("Cancel");cancelButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {dispose();}});cancelButton.setActionCommand("Cancel");buttonPane.add(cancelButton);}}}public static String getIPPORTFormTxt() {String s = "";String pathname = "HadoopIPPort.txt"; // //////try (FileReader reader = new FileReader(pathname);BufferedReader br = new BufferedReader(reader) ) {String line;while ((line = br.readLine()) != null) {System.out.println(line);s = line;Main.RecordSomethingTolog("getHadoopIPPORTFormTxt"+s);}} catch (Exception e) {e.printStackTrace();}return s;}public static String getDIRPathFormTxt() {String s = "";String pathname = "DirPath.txt"; try (FileReader reader = new FileReader(pathname);BufferedReader br = new BufferedReader(reader) ) {String line;while ((line = br.readLine()) != null) {System.out.println(line);s = line;Main.RecordSomethingTolog("getHadoopDIRPathFormTxt"+s);}} catch (Exception e) {e.printStackTrace();}return s; } public void setIPPORTToTxt(String IPPORT) {try {File writeName = new File("HadoopIPPort.txt"); writeName.createNewFile(); try (FileWriter writer = new FileWriter(writeName);BufferedWriter out = new BufferedWriter(writer)) {out.write(IPPORT+"\r\n"); Main.RecordSomethingTolog("setHadoopIPPORTToTxt"+IPPORT);out.flush(); }} catch (Exception e) {e.printStackTrace();}}public void setDIRPathToTxt(String DirPath) {try {File writeName = new File("DirPath.txt");writeName.createNewFile(); try (FileWriter writer = new FileWriter(writeName);BufferedWriter out = new BufferedWriter(writer)) {out.write(DirPath+"\r\n"); Main.RecordSomethingTolog("setHadoopDIRPathToTxt"+DirPath);out.flush(); }} catch (Exception e) {e.printStackTrace();}}
}
java软件如何优雅地写配置文件相关推荐
- java好的代码_做java软件工程师,怎样才能写出好的代码?
原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...
- java软件工程师简历项目经验pdf_java软件工程师简历中项目经验怎么写?
java软件工程师简历-项目经验怎么写(优秀范文)Java开发工程师-简历模板-项目经验怎么写 [网盘]100+清新大气简历模板下载: Java开发工程师-项目经验范文1 项目名称:电子商务后台管理系 ...
- java软件屏幕大小转换,android 用java写一个自动适配各种屏幕大小的工具
android 用java写一个自动适配各种屏幕大小的工具,假设我当前机器屏幕宽高为1920*1116,我页面某个组件的宽度为100px,那么在1280*800的机器上,按道理将应该是100/1920 ...
- java 软件开发面试宝典
一. Java 基础部分........................................................................................ ...
- *Java软件开发面试知识整理*
Java软件开发面试知识整理 围绕以下几点回答问题:是什么.为什么.什么时候用.项目实现.解决什么问题.遇到的困难 谈谈你对Java和C的理解? Java: 面向对象.Unicode:可以跨平台(JV ...
- [JAVA软件工程师-面试宝典-2013最新版]
http://blog.csdn.net/u012099645/article/details/13756447 [JAVA面试宝典-2013最新版] 一. Java基础部分............. ...
- 2021最新秋招Java软件工程师面试笔试必备面试题及答案汇总
这套面试题主要目的是帮助那些还没有java 软件开发实际工作经验,而正在努力寻找 java 软件开发工作的朋友在笔试时更好地赢得笔试和面试. 由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两 ...
- 易语言写c盘配置文件,易语言写配置文件的方法
易语言编程开发环境的诞生引领了一个编程新时代的到来.它以其本土化.易用化.开发速度快等优点迅速被广大编程爱好者所认可和接受."配置文件"这个术语相信大家都很熟悉了,因为日常生活中随 ...
- 打印Java数组最优雅的方式
在逛 Stack Overflow 的时候,发现了一些访问量像安第斯山一样高的问题,比如说这个:打印 Java 数组最优雅的方式是什么?访问量足足有 220W+,想不到啊,这么简单的问题竟然有这么多 ...
最新文章
- NB-IoT模组低功耗设计:DRX、eDRX和PSM(NB-IoT专栏—拓展篇2)
- 符号隔开数字求最大值
- 为什么linux进程名匹配最多只支持15个字符?
- Java源码研究之object to json string debug
- fiddler发送post请求
- python程序运行原理_谈谈 Python 程序的运行原理
- JS----贪吃蛇游戏
- 在Python中处理大型文件的最快方法
- 三.redis 排序
- java程序 扑克牌概率_java扑克牌洗牌程序,求抽可以抽出特定牌的次数
- 主角把异能开发计算机,不容错过的超能力游戏,最厉害的甚至能操控时间!
- 英语黑色幽默IT段子
- 如何认识和投身 Web 3.0?
- ios APP 制作流程
- java撞墙随机变色_将CompletableFuture与EJb一起使用时撞墙 - java
- Always young
- Capture One pro 21 for Mac(RAW转换和图像编辑工具)
- 产能节拍php,优化加工节拍实现高效加工
- 安卓学习期末大作业——音乐播放器基础功能
- msyql [note] mysqld (mysqld 5.6.40) starting as process xxxx...