「java修改.ini文件」如何将文本文件改为ini文件
今天给各位分享java修改.ini文件的知识,其中也会对如何将文本文件改为ini文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 向ini配置文件中写入值。
- 2、eclipse.ini文件怎么修改?
- 3、帮忙写个JAVA 读写ini配置文件小程序!!!!!
- 4、Java中如何设置读取ini配置文件?
- 5、如何修改java虚拟机内存
- 6、java修改数据库失败次数
java 向ini配置文件中写入值。
Java读取和修改ini配置文件,参考如下:
/*
* ConfigurationFile.java
*
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 这是个配置文档操作类,用来读取和配置ini配置文档
* @author 由月
* @version 2004-08-18
* @修改 2008-05-22
*/
public final class ConfigurationFile {
/**
* 从ini配置文档中读取变量的值
* @param file 配置文档的路径
* @param section 要获取的变量所在段名称
* @param variable 要获取的变量名称
* @param defaultValue 变量名称不存在时的默认值
* @return 变量的值
* @throws IOException 抛出文档操作可能出现的io异常
*/
public static String getProfileString(
String file,
String section,
String variable,
String defaultValue)
throws IOException {
String strLine, value = "";
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
boolean isInSection = false;
try {
while ((strLine = bufferedReader.readLine()) != null) {
strLine = strLine.trim();
//strLine = strLine.split("[;]")[0];
Pattern p;
Matcher m;
p = Pattern.compile("\\["+section+"\\]");
m = p.matcher((strLine));
if (m.matches()) {
p = Pattern.compile("\\["+section+"\\]");
m = p.matcher(strLine);
if (m.matches()) {
isInSection = true;
} else {
isInSection = false;
}
}
if (isInSection == true) {
strLine = strLine.trim();
String[] strArray = strLine.split("=");
if (strArray.length == 1) {
value = strArray[0].trim();
if (value.equalsIgnoreCase(variable)) {
value = "";
return value;
}
} else if (strArray.length == 2) {
value = strArray[0].trim();
if (value.equalsIgnoreCase(variable)) {
value = strArray[1].trim();
return value;
}
} else if (strArray.length 2) {
value = strArray[0].trim();
if (value.equalsIgnoreCase(variable)) {
value = strLine.substring(strLine.indexOf("=") + 1).trim();
return value;
}
}
}
}
} finally {
bufferedReader.close();
}
return defaultValue;
}
eclipse.ini文件怎么修改?
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME
(eclipse安装根目录)没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。
eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到
Eclipse.exe之后的命令行参数。
其格式要求:
1:所有的选项及其相关的参数必须在单独的一行之内
2:所有在-vmargs之后的参数将会被传输给JVM,所有如果所有对Eclipse
设置的参数必须写在-vmargs之前(就如同你在命令行上使用这些参数一样)
默认情况下,eclipse.ini的内容如下:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
上面的配置表示堆空间初始大小为40M,最大为256M,PermGen最大为256M。
帮忙写个JAVA 读写ini配置文件小程序!!!!!
其实使用 JDK 里面提供的 Properties 最方便。 相关使用方法可以自己去查看 JDK 的API文档。 package product;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;public class IniReader {
private Properties properties = new Properties();
private String iniPath = "test/product/pro.ini"; //ini 文件的路径
private JFrame jFrame = new JFrame("读取配置示例");
private JLabel jLabel1 = new JLabel("用户登录IP");
private JTextField jTextField1 = new JTextField(30);
private JLabel jLabel2 = new JLabel("端口号");
private JTextField jTextField2 = new JTextField(30);
private JLabel jLabel3 = new JLabel("TQ终端IP");
private JTextField jTextField3 = new JTextField(30);
private JLabel jLabel4 = new JLabel("端口号");
private JTextField jTextField4 = new JTextField(30);
private JLabel jLabel5 = new JLabel("WM终端IP");
private JTextField jTextField5 = new JTextField(30);
private JLabel jLabel6 = new JLabel("端口号");
private JTextField jTextField6 = new JTextField(30);
private JButton jButton1 = new JButton("取消");
private JButton jButton2 = new JButton("确定");
private void showFrame(){
try {
File file = new File(iniPath);
System.out.println(file.getAbsolutePath());
properties.load(new FileInputStream(iniPath));
} catch (FileNotFoundException e) {
System.out.println("找不到该文件");
JOptionPane.showMessageDialog(null, "保存信息出错!");
return;
} catch (IOException e) {
System.out.println("文件读取错误");
JOptionPane.showMessageDialog(null, "保存信息出错!");
return;
}
jTextField1.setText(properties.getProperty("UserLogin"));
jTextField2.setText(properties.getProperty("Userport"));
jTextField3.setText(properties.getProperty("TQterminal"));
jTextField4.setText(properties.getProperty("TQport"));
jTextField5.setText(properties.getProperty("VMterminal"));
jTextField6.setText(properties.getProperty("VMport"));
jButton1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
jTextField1.setText(properties.getProperty("UserLogin"));
jTextField2.setText(properties.getProperty("Userport"));
jTextField3.setText(properties.getProperty("TQterminal"));
jTextField4.setText(properties.getProperty("TQport"));
jTextField5.setText(properties.getProperty("VMterminal"));
jTextField6.setText(properties.getProperty("VMport"));
}
});
jButton2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
properties.setProperty("UserLogin", jTextField1.getText());
properties.setProperty("Userport", jTextField2.getText());
properties.setProperty("TQterminal", jTextField3.getText());
properties.setProperty("TQport", jTextField4.getText());
properties.setProperty("VMterminal", jTextField5.getText());
properties.setProperty("VMport", jTextField6.getText());
try {
properties.store(new FileOutputStream(iniPath),"");
} catch (Exception e1) {
e1.printStackTrace();
System.out.println("保存信息出错");
JOptionPane.showMessageDialog(jFrame, "保存信息出错!");
}
JOptionPane.showMessageDialog(jFrame, "保存成功!");
}
});
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jLabel1.setBounds(10, 40, 80, 30);
jTextField1.setBounds(100, 40, 80, 30);
jLabel2.setBounds(210, 40, 80, 30);
jTextField2.setBounds(300, 40, 80, 30);
jLabel3.setBounds(10, 80, 80, 30);
jTextField3.setBounds(100, 80, 80, 30);
jLabel4.setBounds(210, 80, 80, 30);
jTextField4.setBounds(300, 80, 80, 30);
jLabel5.setBounds(10, 120, 80, 30);
jTextField5.setBounds(100, 120, 80, 30);
jLabel6.setBounds(210, 120, 80, 30);
jTextField6.setBounds(300, 120, 80, 30);
jFrame.getContentPane().setLayout(null);
jFrame.getContentPane().add(jLabel1);
jFrame.getContentPane().add(jLabel2);
jFrame.getContentPane().add(jLabel3);
jFrame.getContentPane().add(jLabel4);
jFrame.getContentPane().add(jLabel5);
jFrame.getContentPane().add(jLabel6);
jFrame.getContentPane().add(jTextField1);
jFrame.getContentPane().add(jTextField2);
jFrame.getContentPane().add(jTextField3);
jFrame.getContentPane().add(jTextField4);
jFrame.getContentPane().add(jTextField5);
jFrame.getContentPane().add(jTextField6);
jButton1.setBounds(100,160,60,30);
jButton2.setBounds(230,160,60,30);
jFrame.getContentPane().add(jButton1);
jFrame.getContentPane().add(jButton2);
jFrame.setBounds(200, 200, 400, 300);
jFrame.setVisible(true);
}
public static void main(String[] args) {
new IniReader().showFrame();
}}
经测试,可用,正常。就是文件路径你自己配好。
Java中如何设置读取ini配置文件?
// 读取一般的属性文件
FileInputStream fin=new FileInputStream("my.ini"); // 打开文件
Properties props=new Properties(); // 建立属性类
props.load(fin); // 读入文件
fin.close(); // 关闭文件
如何修改java虚拟机内存
一、设置JVM内存设置
1. 设置JVM内存的参数有四个:
-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn Java Heap Young区大小,不熟悉最好保留默认值;
-Xss 每个线程的Stack大小,不熟悉最好保留默认值;
2. 如何设置JVM内存分配:
(1)当在命令提示符下启动并使用JVM时(只对当前运行的类Test生效):
java -Xmx128m -Xms64m -Xmn32m -Xss16m Test
(2)当在集成开发环境下(如eclipse)启动并使用JVM时:
a. 在eclipse根目录下打开eclipse.ini,默认内容为(这里设置的是运行当前开发工具的JVM内存分配):
-vmargs
-Xms40m
-Xmx256m
-vmargs表示以下为虚拟机设置参数,可修改其中的参数值,也可添加-Xmn,-Xss,另外,eclipse.ini内还可以设置非堆内存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
此处设置的参数值可以通过以下配置在开发工具的状态栏显示:
在eclipse根目录下创建文件options,文件内容为:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目录下的eclipse.ini文件,在开头处添加如下内容:
-debug
options
-vm
javaw.exe
重新启动eclipse,就可以看到下方状态条多了JVM信息。
b. 打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效)
编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m
c. 打开eclipse-运行-运行-Java应用程序(只对所设置的java类生效)
选定需设置内存分配的类-自变量,在VM自变量中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m
注:如果在同一开发环境中同时进行了b和c设置,则b设置生效,c设置无效,如:
开发环境的设置为:-Xmx256m,而类Test的设置为:-Xmx128m -Xms64m,则运行Test时生效的设置为:
-Xmx256m -Xms64m
(3)当在服务器环境下(如Tomcat)启动并使用JVM时(对当前服务器环境下所以Java程序生效):
a. 设置环境变量:
变量名:CATALINA_OPTS
变量值:-Xmx128m -Xms64m -Xmn32m -Xss16m
b. 打开Tomcat根目录下的bin文件夹,编辑catalina.bat,将其中的�TALINA_OPTS%(共有四处)替换为:-Xmx128m -Xms64m -Xmn32m -Xss16m
java修改数据库失败次数
息 不报错 确修改失败了
java mysql修改信息 不报错 确修改失败了_数据库字段异常可能是mysql严格模式导致...

IvanhoeBlack
原创
关注
0点赞·498人阅读
最近,新手同事Java开发中遇到数据库报错:
“ java.sql.SQLIntegrityConstraintViolationException: Column 'create_time' cannot be null”
而且开发环境上没有出现,生产环境上才会出现。看过后告诉他是mysql strict mode(严格模式)导致。生产环境的mysql版本比较高,打开了相关配置。
5.6.6 版本后默认打开严格模式。
这其实是一个常见问题,和mysql 打交道时比较容易遇到。
一、查看sql-mode
select @@sql_mode;
二、解决办法
方法1:修改sql_mode。
linux上找到my.cnf文件,window上找到my.ini文件。
修改 sql_mode赋值。
方法2:修改代码,增加条件判断和主动赋值。
因为不知道生产环境的配置,建议还是不要偷懒。
三、一些mysql 严格模式的选项
NO_ZERO_DATE 认为日期为0非法
STRICT_TRANS_TABLES 表示启用严格模式。例如把''传递给int字段非法。
java修改.ini文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何将文本文件改为ini文件、java修改.ini文件的信息别忘了在本站进行查找喔。