我有一个显示 API 查询结果的组件。我想添加一个下拉框,以便可以过滤列表,但当 url 查询参数更改时,我似乎无法重新加载页面。
<div>
<H2>Products</H2>
<form>
Filter By Manufacturer
<select (change)="onManufacturerChange($event.target.value)">
<option value="">All</option>
<option [value]="m" *ngFor="let m of manufacturers">{{m}}</option>
</select>
</form>
<ul>
<li *ngFor="let p of products"><B>{{p.manufacturer}}</B> - {{p.name}}</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
和打字稿
export class ProductListComponent implements OnInit {
public products: Array<object> = [];
public manufacturers: any = [];
public manufacturer: string = "";
public search: string = "";
constructor(private _assetService: AssetService, private router: Router, private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams.subscribe(params => {
console.log(params);
if('manufacturer' in params){ …Run Code Online (Sandbox Code Playgroud) 我想用Java阅读一个二进制文件(实际上是一个dBF).我正在使用FileInputStream和BufferedReader,然后将所需的字节读取为char [].
FileInputStream fis;
char[] header = new char[32];
try {
fis = new FileInputStream(source_url);
BufferedReader br;
String line;
br = new BufferedReader(new InputStreamReader(fis, Charset.forName("UTF-8")));
br.read(header);
....
Run Code Online (Sandbox Code Playgroud)
问题是我读入数组的值并不总是与文件中的值完全相同.例如,值0xE1读为0xFD.我尝试了不同的字符集,没有更改,并将值读取为各种类型long,int,byte,并使用格式字符串到十六进制,在所有情况下,它看起来像0xFD.
这些值是definatley错误的,我可以在C++程序中读取正常,因为它理解无符号整数,并且可以读取hex fileviewer.
我使用正确的类来读取二进制数据吗?我错过了什么吗?我试图避免使用外部库,因为我只是想读取应该非常简单的文件.