CString.Format 左补齐或者右补齐空格

本文提供了一个使用Java进行字符串左右对齐的简单示例。通过String.format方法演示了如何将字符串“123”左对齐和右对齐填充至20个字符宽度。
public class Test {
public static void main(String[] args) {
String str="123";
System.out.println("右补空:["+String.format("%1$-20s", str)+"]");  // 右补齐
System.out.println("左补空:["+String.format("%1$20s", str)+"]");  //左补齐
}
}
 
接下来按照我的思想填代码,读取文件头,读到SYS / # / OBS TYPES时,读取并记录每个系统,以及后边跟的总的观测类型数,以及再后边的具体的观测类型。要求是读取的系统和频率是GPS L1(1575.42 MHz)和L2(1227.60 MHz),GLONASS G1(1602+k*9/16)和G2(1246+k*7/16),BDS B1(L2,1561.098 MHz)和B3(L6,1268.52 MHz),Galileo E1(L1,1575.42 MHz)和E5a(L5,1176.45 MHz);分别对应的观测类型中间的数字是GPS:1、2;GLONASS:1、2;BDS:1、6;Galileo:1、5;依照此分别筛选数据块中的读取的观测数值。同时如果某一类型和频率有多个值,也就是观测类型第一个字母和第二个数字都一样,就看第三个字母,也就是跟踪类型,其中系统和频率要求为对于GPS L1和L2,分别按跟踪模式"CSLXPWYM"和"CDSLXPWYM"优先级选用观测值;对于GLONASS G1和G2,按跟踪模式"CP"优先级选用观测值;对于BDS B1和B3,按跟踪模式"IQX"优先级选用观测值;对于GAL E1和E5a,分别按跟踪模式"ABCXZ"和"IQX"优先级选用观测值;定义边优先级高于边;依照要求对观测类型和优先级顺序进行排序,方便后边数据的读取显示。然后文件头的其他就没用了,可以选择性记录,知道文件末尾END OF HEADER结束。开始读取数据块部分,这部分可以先通过读取记录每行首字符">"进行历元计算,算出总共几个历元,应该是从0小时到23小时,完整一天,然后循环,循环内开始读取第一行数据,提取第一行的时间,状态(0或者1)以及该历元下卫星数,再次内循环卫星数,读取下一行的卫星prn以及观测数据,与文件头读取的卫星类型进行对应,知道后边的观测类型,对应伪距,载波,多普勒,信噪比,可以先将该卫星下的一行的所有观测值进行对应,看看是否对应的上文件头的观测类型,如果一行有数据的部分正好符合观测类型数量,就不用算空格,如果少了就算上空格。主要就是看一下是否包含空格。然后根据优先级进行提取,选择优先级最高的显示。每个频率以及对应的观测类型都是由表头读取的一一对应的,一定要注意。然后依次循环,最后只输出整点历元的时刻,也就是分钟和秒数都为0的时刻。输出时依照时间,系统,卫星,两个频率的伪距,载波,多普勒,信噪比和跟踪模式进行逐行输出整点时刻的观测信息。并且观测值均采用小数输出,小数点保留4位,不少于原始数据小数位。注意根据官网RINEX3.04版本观测文件说明书对应数据的列宽。要读取的文件是RINEX3.04版本的观测文件,路径为"D:\qq\jfng1590.24o",输出结果保存路径为"D:\qq\output_obs.txt",最好不要用类来写,用能在Visual Studio 2022运行的C++代码写完整代码。一定要读取文件完整一天的整点时刻,即从0点到23点,最终输出结果类似如下:Time,System,Satellite,Frequency,PR,CP,DP,SN,TR 2024-06-07 00:00:00.0000,C,C01,B1,37450019.4140,195012125.9830,40.6910,40.9000,I 2024-06-07 00:00:00.0000,C,C01,B3,37450014.6840,158463326.6060,33.0660,41.9000,I 2024-06-07 00:00:00.0000,E,E04,E1,28372554.6330,149098714.9830,-1910.6640,29.5000,X 2024-06-07 00:00:00.0000,E,E04,E5a,0.0000,0.0000,0.0000,0.0000,- ...记得按照依次输出时间,系统,卫星,两个频率的伪距、载波、多普勒、信噪比和跟踪模式;这样的顺序来
最新发布
10-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值